/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/egcd3-ll_valuebound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 15:02:38,154 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 15:02:38,155 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 15:02:38,202 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 15:02:38,203 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 15:02:38,204 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 15:02:38,206 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 15:02:38,210 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 15:02:38,211 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 15:02:38,212 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 15:02:38,212 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 15:02:38,213 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 15:02:38,213 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 15:02:38,214 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 15:02:38,214 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 15:02:38,215 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 15:02:38,215 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 15:02:38,216 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 15:02:38,217 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 15:02:38,218 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 15:02:38,219 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 15:02:38,225 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 15:02:38,226 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 15:02:38,228 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 15:02:38,230 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 15:02:38,235 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 15:02:38,235 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 15:02:38,235 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 15:02:38,235 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 15:02:38,236 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 15:02:38,236 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 15:02:38,236 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 15:02:38,237 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 15:02:38,237 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 15:02:38,237 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 15:02:38,238 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 15:02:38,238 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 15:02:38,238 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 15:02:38,238 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 15:02:38,239 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 15:02:38,239 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 15:02:38,243 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 15:02:38,244 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 15:02:38,253 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 15:02:38,254 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 15:02:38,254 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 15:02:38,254 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 15:02:38,254 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 15:02:38,254 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 15:02:38,255 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 15:02:38,255 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 15:02:38,255 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 15:02:38,255 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 15:02:38,255 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 15:02:38,256 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 15:02:38,256 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 15:02:38,256 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 15:02:38,256 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 15:02:38,256 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 15:02:38,256 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 15:02:38,256 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 15:02:38,256 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 15:02:38,256 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 15:02:38,256 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 15:02:38,256 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 15:02:38,256 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-15 15:02:38,420 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 15:02:38,436 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 15:02:38,437 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 15:02:38,438 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 15:02:38,451 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 15:02:38,452 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound20.c [2022-04-15 15:02:38,502 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5e5cd0809/0ba02ed0e3304c9c8c3c2a02bea27c22/FLAGd7e87589d [2022-04-15 15:02:38,829 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 15:02:38,830 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound20.c [2022-04-15 15:02:38,834 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5e5cd0809/0ba02ed0e3304c9c8c3c2a02bea27c22/FLAGd7e87589d [2022-04-15 15:02:39,279 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5e5cd0809/0ba02ed0e3304c9c8c3c2a02bea27c22 [2022-04-15 15:02:39,280 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 15:02:39,281 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 15:02:39,282 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 15:02:39,282 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 15:02:39,284 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 15:02:39,284 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 03:02:39" (1/1) ... [2022-04-15 15:02:39,285 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3198e3c1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:02:39, skipping insertion in model container [2022-04-15 15:02:39,285 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 03:02:39" (1/1) ... [2022-04-15 15:02:39,289 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 15:02:39,298 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 15:02:39,422 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/egcd3-ll_valuebound20.c[490,503] [2022-04-15 15:02:39,451 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 15:02:39,456 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 15:02:39,467 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/egcd3-ll_valuebound20.c[490,503] [2022-04-15 15:02:39,496 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 15:02:39,504 INFO L208 MainTranslator]: Completed translation [2022-04-15 15:02:39,504 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:02:39 WrapperNode [2022-04-15 15:02:39,505 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 15:02:39,505 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 15:02:39,505 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 15:02:39,506 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 15:02:39,513 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:02:39" (1/1) ... [2022-04-15 15:02:39,513 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:02:39" (1/1) ... [2022-04-15 15:02:39,518 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:02:39" (1/1) ... [2022-04-15 15:02:39,518 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:02:39" (1/1) ... [2022-04-15 15:02:39,533 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:02:39" (1/1) ... [2022-04-15 15:02:39,536 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:02:39" (1/1) ... [2022-04-15 15:02:39,536 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:02:39" (1/1) ... [2022-04-15 15:02:39,537 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 15:02:39,538 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 15:02:39,538 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 15:02:39,538 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 15:02:39,540 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:02:39" (1/1) ... [2022-04-15 15:02:39,545 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 15:02:39,553 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:02:39,562 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-15 15:02:39,564 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-15 15:02:39,590 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 15:02:39,591 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 15:02:39,591 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 15:02:39,591 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 15:02:39,591 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 15:02:39,591 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 15:02:39,591 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 15:02:39,591 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 15:02:39,591 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 15:02:39,591 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 15:02:39,591 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 15:02:39,591 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 15:02:39,591 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 15:02:39,591 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 15:02:39,592 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 15:02:39,592 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 15:02:39,592 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 15:02:39,592 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 15:02:39,592 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 15:02:39,592 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 15:02:39,633 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 15:02:39,634 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 15:02:39,778 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 15:02:39,783 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 15:02:39,783 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-15 15:02:39,784 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 03:02:39 BoogieIcfgContainer [2022-04-15 15:02:39,784 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 15:02:39,785 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 15:02:39,785 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 15:02:39,787 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 15:02:39,787 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 03:02:39" (1/3) ... [2022-04-15 15:02:39,788 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2711d4ea and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 03:02:39, skipping insertion in model container [2022-04-15 15:02:39,788 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:02:39" (2/3) ... [2022-04-15 15:02:39,788 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2711d4ea and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 03:02:39, skipping insertion in model container [2022-04-15 15:02:39,788 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 03:02:39" (3/3) ... [2022-04-15 15:02:39,789 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll_valuebound20.c [2022-04-15 15:02:39,792 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 15:02:39,792 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 15:02:39,826 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 15:02:39,833 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 15:02:39,833 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 15:02:39,851 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 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-15 15:02:39,876 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 15:02:39,876 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:02:39,876 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:02:39,877 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:02:39,880 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:02:39,880 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 1 times [2022-04-15 15:02:39,898 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:02:39,898 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [404944243] [2022-04-15 15:02:39,905 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:02:39,906 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 2 times [2022-04-15 15:02:39,907 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:02:39,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1061189360] [2022-04-15 15:02:39,908 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:02:39,908 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:02:40,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:02:40,063 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 15:02:40,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:02:40,085 INFO L290 TraceCheckUtils]: 0: Hoare triple {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-15 15:02:40,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-15 15:02:40,086 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-15 15:02:40,086 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 15:02:40,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:02:40,108 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:02:40,109 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:02:40,109 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:02:40,109 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-15 15:02:40,109 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 15:02:40,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:02:40,115 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:02:40,115 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:02:40,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:02:40,116 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-15 15:02:40,116 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 15:02:40,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:02:40,120 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:02:40,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:02:40,121 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:02:40,121 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-15 15:02:40,121 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-15 15:02:40,122 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:02:40,126 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:02:40,126 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:02:40,126 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:02:40,127 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-15 15:02:40,129 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 15:02:40,129 INFO L290 TraceCheckUtils]: 1: Hoare triple {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-15 15:02:40,129 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-15 15:02:40,129 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-15 15:02:40,131 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-15 15:02:40,131 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-15 15:02:40,131 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {43#true} is VALID [2022-04-15 15:02:40,132 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:02:40,132 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:02:40,132 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:02:40,132 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-15 15:02:40,132 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-15 15:02:40,133 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {43#true} is VALID [2022-04-15 15:02:40,133 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:02:40,133 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:02:40,134 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:02:40,134 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-15 15:02:40,134 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-15 15:02:40,134 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:02:40,135 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:02:40,135 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:02:40,136 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-15 15:02:40,136 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-15 15:02:40,136 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-15 15:02:40,136 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-15 15:02:40,137 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-15 15:02:40,138 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-15 15:02:40,138 INFO L290 TraceCheckUtils]: 27: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {44#false} is VALID [2022-04-15 15:02:40,141 INFO L290 TraceCheckUtils]: 28: Hoare triple {44#false} assume false; {44#false} is VALID [2022-04-15 15:02:40,141 INFO L272 TraceCheckUtils]: 29: Hoare triple {44#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {44#false} is VALID [2022-04-15 15:02:40,141 INFO L290 TraceCheckUtils]: 30: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-15 15:02:40,141 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-15 15:02:40,142 INFO L290 TraceCheckUtils]: 32: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-15 15:02:40,142 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 15:02:40,142 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:02:40,143 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1061189360] [2022-04-15 15:02:40,143 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1061189360] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:02:40,143 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:02:40,143 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 15:02:40,147 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:02:40,147 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [404944243] [2022-04-15 15:02:40,147 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [404944243] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:02:40,148 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:02:40,148 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 15:02:40,148 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1315594756] [2022-04-15 15:02:40,148 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:02:40,154 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 15:02:40,155 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:02:40,158 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:02:40,191 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:02:40,192 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 15:02:40,192 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:02:40,218 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 15:02:40,219 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 15:02:40,220 INFO L87 Difference]: Start difference. First operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 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 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:02:40,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:02:40,387 INFO L93 Difference]: Finished difference Result 73 states and 115 transitions. [2022-04-15 15:02:40,387 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 15:02:40,387 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 15:02:40,388 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:02:40,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:02:40,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-15 15:02:40,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:02:40,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-15 15:02:40,422 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 115 transitions. [2022-04-15 15:02:40,538 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:02:40,546 INFO L225 Difference]: With dead ends: 73 [2022-04-15 15:02:40,546 INFO L226 Difference]: Without dead ends: 35 [2022-04-15 15:02:40,549 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 15:02:40,552 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 24 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:02:40,554 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 43 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 15:02:40,564 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-15 15:02:40,575 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-15 15:02:40,575 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:02:40,576 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 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-15 15:02:40,576 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 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-15 15:02:40,577 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 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-15 15:02:40,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:02:40,580 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-15 15:02:40,580 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 15:02:40,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:02:40,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:02:40,581 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 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 35 states. [2022-04-15 15:02:40,582 INFO L87 Difference]: Start difference. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 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 35 states. [2022-04-15 15:02:40,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:02:40,585 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-15 15:02:40,585 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 15:02:40,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:02:40,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:02:40,585 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:02:40,586 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:02:40,586 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 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-15 15:02:40,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 44 transitions. [2022-04-15 15:02:40,598 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 44 transitions. Word has length 33 [2022-04-15 15:02:40,598 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:02:40,599 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 44 transitions. [2022-04-15 15:02:40,599 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:02:40,599 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 44 transitions. [2022-04-15 15:02:40,637 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-15 15:02:40,637 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-15 15:02:40,638 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 15:02:40,638 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:02:40,638 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:02:40,638 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 15:02:40,638 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:02:40,639 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:02:40,639 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 1 times [2022-04-15 15:02:40,639 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:02:40,639 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [905768795] [2022-04-15 15:02:40,640 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:02:40,640 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 2 times [2022-04-15 15:02:40,640 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:02:40,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [743251920] [2022-04-15 15:02:40,640 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:02:40,640 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:02:40,660 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:02:40,661 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [753044861] [2022-04-15 15:02:40,661 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:02:40,661 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:02:40,661 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:02:40,662 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-15 15:02:40,671 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-15 15:02:40,712 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 15:02:40,713 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:02:40,724 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 15:02:40,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:02:40,736 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:02:40,950 INFO L272 TraceCheckUtils]: 0: Hoare triple {353#true} call ULTIMATE.init(); {353#true} is VALID [2022-04-15 15:02:40,951 INFO L290 TraceCheckUtils]: 1: Hoare triple {353#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(11, 2);call #Ultimate.allocInit(12, 3); {353#true} is VALID [2022-04-15 15:02:40,951 INFO L290 TraceCheckUtils]: 2: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 15:02:40,951 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {353#true} {353#true} #112#return; {353#true} is VALID [2022-04-15 15:02:40,951 INFO L272 TraceCheckUtils]: 4: Hoare triple {353#true} call #t~ret6 := main(); {353#true} is VALID [2022-04-15 15:02:40,951 INFO L290 TraceCheckUtils]: 5: Hoare triple {353#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {353#true} is VALID [2022-04-15 15:02:40,952 INFO L272 TraceCheckUtils]: 6: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {353#true} is VALID [2022-04-15 15:02:40,952 INFO L290 TraceCheckUtils]: 7: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 15:02:40,952 INFO L290 TraceCheckUtils]: 8: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 15:02:40,952 INFO L290 TraceCheckUtils]: 9: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 15:02:40,952 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {353#true} {353#true} #94#return; {353#true} is VALID [2022-04-15 15:02:40,952 INFO L290 TraceCheckUtils]: 11: Hoare triple {353#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {353#true} is VALID [2022-04-15 15:02:40,952 INFO L272 TraceCheckUtils]: 12: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {353#true} is VALID [2022-04-15 15:02:40,953 INFO L290 TraceCheckUtils]: 13: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 15:02:40,953 INFO L290 TraceCheckUtils]: 14: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 15:02:40,953 INFO L290 TraceCheckUtils]: 15: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 15:02:40,953 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {353#true} {353#true} #96#return; {353#true} is VALID [2022-04-15 15:02:40,953 INFO L272 TraceCheckUtils]: 17: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {353#true} is VALID [2022-04-15 15:02:40,953 INFO L290 TraceCheckUtils]: 18: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 15:02:40,953 INFO L290 TraceCheckUtils]: 19: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 15:02:40,954 INFO L290 TraceCheckUtils]: 20: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 15:02:40,954 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {353#true} {353#true} #98#return; {353#true} is VALID [2022-04-15 15:02:40,954 INFO L272 TraceCheckUtils]: 22: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {353#true} is VALID [2022-04-15 15:02:40,954 INFO L290 TraceCheckUtils]: 23: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-15 15:02:40,954 INFO L290 TraceCheckUtils]: 24: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-15 15:02:40,954 INFO L290 TraceCheckUtils]: 25: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-15 15:02:40,954 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {353#true} {353#true} #100#return; {353#true} is VALID [2022-04-15 15:02:40,955 INFO L290 TraceCheckUtils]: 27: Hoare triple {353#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {439#(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-15 15:02:40,956 INFO L290 TraceCheckUtils]: 28: Hoare triple {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {439#(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-15 15:02:40,956 INFO L290 TraceCheckUtils]: 29: Hoare triple {439#(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 !(0 != ~b~0); {446#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:02:40,957 INFO L272 TraceCheckUtils]: 30: Hoare triple {446#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:02:40,958 INFO L290 TraceCheckUtils]: 31: Hoare triple {450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:02:40,958 INFO L290 TraceCheckUtils]: 32: Hoare triple {454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {354#false} is VALID [2022-04-15 15:02:40,958 INFO L290 TraceCheckUtils]: 33: Hoare triple {354#false} assume !false; {354#false} is VALID [2022-04-15 15:02:40,958 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 15:02:40,959 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 15:02:40,959 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:02:40,959 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [743251920] [2022-04-15 15:02:40,959 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:02:40,959 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [753044861] [2022-04-15 15:02:40,959 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [753044861] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:02:40,959 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:02:40,959 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:02:40,960 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:02:40,960 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [905768795] [2022-04-15 15:02:40,960 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [905768795] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:02:40,960 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:02:40,960 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:02:40,961 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1100798946] [2022-04-15 15:02:40,961 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:02:40,961 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-15 15:02:40,961 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:02:40,962 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 15:02:40,978 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-15 15:02:40,979 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:02:40,979 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:02:40,979 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:02:40,979 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 15:02:40,979 INFO L87 Difference]: Start difference. First operand 35 states and 44 transitions. Second operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 15:02:41,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:02:41,223 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-15 15:02:41,223 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 15:02:41,223 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-15 15:02:41,224 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:02:41,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 15:02:41,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-15 15:02:41,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 15:02:41,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-15 15:02:41,228 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-15 15:02:41,277 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:02:41,278 INFO L225 Difference]: With dead ends: 54 [2022-04-15 15:02:41,278 INFO L226 Difference]: Without dead ends: 51 [2022-04-15 15:02:41,279 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-15 15:02:41,280 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 14 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 79 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:02:41,280 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 158 Invalid, 79 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 15:02:41,280 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-15 15:02:41,289 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-15 15:02:41,289 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:02:41,289 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 15:02:41,290 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 15:02:41,290 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 15:02:41,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:02:41,293 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-15 15:02:41,293 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-15 15:02:41,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:02:41,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:02:41,294 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-15 15:02:41,294 INFO L87 Difference]: Start difference. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-15 15:02:41,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:02:41,296 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-15 15:02:41,296 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-15 15:02:41,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:02:41,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:02:41,297 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:02:41,297 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:02:41,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 15:02:41,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-15 15:02:41,300 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 34 [2022-04-15 15:02:41,300 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:02:41,300 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-15 15:02:41,300 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 15:02:41,300 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 64 transitions. [2022-04-15 15:02:41,355 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-15 15:02:41,355 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-15 15:02:41,356 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 15:02:41,356 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:02:41,356 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:02:41,374 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-15 15:02:41,573 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:02:41,574 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:02:41,574 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:02:41,574 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 1 times [2022-04-15 15:02:41,574 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:02:41,575 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [487895605] [2022-04-15 15:02:41,575 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:02:41,575 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 2 times [2022-04-15 15:02:41,575 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:02:41,575 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [44813842] [2022-04-15 15:02:41,575 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:02:41,575 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:02:41,592 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:02:41,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1045644742] [2022-04-15 15:02:41,592 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:02:41,593 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:02:41,593 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:02:41,596 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-15 15:02:41,628 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-15 15:02:41,644 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:02:41,644 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:02:41,645 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 15:02:41,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:02:41,656 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:02:41,783 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-15 15:02:41,784 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#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(11, 2);call #Ultimate.allocInit(12, 3); {774#true} is VALID [2022-04-15 15:02:41,784 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:02:41,784 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-15 15:02:41,784 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-15 15:02:41,784 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-15 15:02:41,784 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {774#true} is VALID [2022-04-15 15:02:41,785 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:02:41,785 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:02:41,785 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:02:41,785 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-15 15:02:41,785 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {774#true} is VALID [2022-04-15 15:02:41,785 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {774#true} is VALID [2022-04-15 15:02:41,785 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:02:41,785 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:02:41,786 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:02:41,786 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-15 15:02:41,786 INFO L272 TraceCheckUtils]: 17: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 15:02:41,786 INFO L290 TraceCheckUtils]: 18: Hoare triple {774#true} ~cond := #in~cond; {833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:02:41,787 INFO L290 TraceCheckUtils]: 19: Hoare triple {833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:02:41,803 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:02:41,804 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {837#(not (= |assume_abort_if_not_#in~cond| 0))} {774#true} #98#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-15 15:02:41,804 INFO L272 TraceCheckUtils]: 22: Hoare triple {844#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 15:02:41,804 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:02:41,804 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:02:41,804 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:02:41,805 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-15 15:02:41,805 INFO L290 TraceCheckUtils]: 27: Hoare triple {844#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 15:02:41,806 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 15:02:41,806 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 15:02:41,806 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 15:02:41,807 INFO L290 TraceCheckUtils]: 31: Hoare triple {870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {870#(<= 1 main_~c~0)} is VALID [2022-04-15 15:02:41,807 INFO L290 TraceCheckUtils]: 32: Hoare triple {870#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 15:02:41,808 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 15:02:41,808 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-15 15:02:41,808 INFO L272 TraceCheckUtils]: 35: Hoare triple {775#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {775#false} is VALID [2022-04-15 15:02:41,808 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-15 15:02:41,809 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-15 15:02:41,809 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-15 15:02:41,809 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 15:02:41,809 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:02:42,041 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-15 15:02:42,041 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-15 15:02:42,042 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-15 15:02:42,042 INFO L272 TraceCheckUtils]: 35: Hoare triple {775#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {775#false} is VALID [2022-04-15 15:02:42,042 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-15 15:02:42,042 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 15:02:42,043 INFO L290 TraceCheckUtils]: 32: Hoare triple {870#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {880#(<= 1 main_~b~0)} is VALID [2022-04-15 15:02:42,043 INFO L290 TraceCheckUtils]: 31: Hoare triple {870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {870#(<= 1 main_~c~0)} is VALID [2022-04-15 15:02:42,044 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 15:02:42,044 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {870#(<= 1 main_~c~0)} is VALID [2022-04-15 15:02:42,044 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 15:02:42,045 INFO L290 TraceCheckUtils]: 27: Hoare triple {844#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {863#(<= 1 main_~a~0)} is VALID [2022-04-15 15:02:42,046 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-15 15:02:42,046 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:02:42,046 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:02:42,046 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:02:42,046 INFO L272 TraceCheckUtils]: 22: Hoare triple {844#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 15:02:42,047 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {837#(not (= |assume_abort_if_not_#in~cond| 0))} {774#true} #98#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-15 15:02:42,047 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:02:42,047 INFO L290 TraceCheckUtils]: 19: Hoare triple {959#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:02:42,048 INFO L290 TraceCheckUtils]: 18: Hoare triple {774#true} ~cond := #in~cond; {959#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 15:02:42,048 INFO L272 TraceCheckUtils]: 17: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-15 15:02:42,048 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-15 15:02:42,048 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:02:42,048 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:02:42,049 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:02:42,049 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {774#true} is VALID [2022-04-15 15:02:42,049 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {774#true} is VALID [2022-04-15 15:02:42,049 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-15 15:02:42,049 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:02:42,049 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 15:02:42,049 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 15:02:42,049 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {774#true} is VALID [2022-04-15 15:02:42,050 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-15 15:02:42,050 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-15 15:02:42,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-15 15:02:42,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 15:02:42,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#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(11, 2);call #Ultimate.allocInit(12, 3); {774#true} is VALID [2022-04-15 15:02:42,050 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-15 15:02:42,050 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 15:02:42,051 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:02:42,051 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [44813842] [2022-04-15 15:02:42,051 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:02:42,051 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1045644742] [2022-04-15 15:02:42,051 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1045644742] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:02:42,051 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:02:42,051 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 15:02:42,052 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:02:42,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [487895605] [2022-04-15 15:02:42,052 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [487895605] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:02:42,052 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:02:42,052 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 15:02:42,052 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1584492366] [2022-04-15 15:02:42,052 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:02:42,052 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-15 15:02:42,053 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:02:42,053 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:02:42,073 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-15 15:02:42,073 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 15:02:42,073 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:02:42,073 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 15:02:42,073 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-15 15:02:42,074 INFO L87 Difference]: Start difference. First operand 50 states and 64 transitions. Second operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:02:42,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:02:42,696 INFO L93 Difference]: Finished difference Result 103 states and 143 transitions. [2022-04-15 15:02:42,696 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 15:02:42,696 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-15 15:02:42,696 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:02:42,697 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:02:42,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-15 15:02:42,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:02:42,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-15 15:02:42,702 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-15 15:02:42,789 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:02:42,792 INFO L225 Difference]: With dead ends: 103 [2022-04-15 15:02:42,792 INFO L226 Difference]: Without dead ends: 96 [2022-04-15 15:02:42,792 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-15 15:02:42,793 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 68 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 148 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:02:42,793 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [72 Valid, 232 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 148 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:02:42,794 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-15 15:02:42,867 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 71. [2022-04-15 15:02:42,867 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:02:42,868 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:02:42,868 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:02:42,868 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:02:42,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:02:42,874 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-15 15:02:42,874 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-15 15:02:42,875 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:02:42,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:02:42,876 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-15 15:02:42,876 INFO L87 Difference]: Start difference. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-15 15:02:42,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:02:42,881 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-15 15:02:42,881 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-15 15:02:42,881 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:02:42,881 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:02:42,881 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:02:42,881 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:02:42,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:02:42,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 95 transitions. [2022-04-15 15:02:42,884 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 95 transitions. Word has length 39 [2022-04-15 15:02:42,884 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:02:42,884 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 95 transitions. [2022-04-15 15:02:42,884 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:02:42,884 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 95 transitions. [2022-04-15 15:02:42,974 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:02:42,974 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 95 transitions. [2022-04-15 15:02:42,975 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 15:02:42,975 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:02:42,975 INFO L499 BasicCegarLoop]: trace histogram [4, 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] [2022-04-15 15:02:43,001 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 15:02:43,191 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 15:02:43,192 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:02:43,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:02:43,192 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 1 times [2022-04-15 15:02:43,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:02:43,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [634404620] [2022-04-15 15:02:43,193 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:02:43,193 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 2 times [2022-04-15 15:02:43,193 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:02:43,193 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [128287826] [2022-04-15 15:02:43,193 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:02:43,193 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:02:43,216 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:02:43,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [659480785] [2022-04-15 15:02:43,216 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:02:43,216 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:02:43,216 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:02:43,218 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-15 15:02:43,220 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-15 15:02:43,256 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:02:43,257 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:02:43,257 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 15:02:43,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:02:43,267 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:02:43,763 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-15 15:02:43,763 INFO L290 TraceCheckUtils]: 1: Hoare triple {1566#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(11, 2);call #Ultimate.allocInit(12, 3); {1566#true} is VALID [2022-04-15 15:02:43,763 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:02:43,763 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-15 15:02:43,763 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-15 15:02:43,764 INFO L290 TraceCheckUtils]: 5: Hoare triple {1566#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1566#true} is VALID [2022-04-15 15:02:43,764 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:02:43,764 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 15:02:43,764 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 15:02:43,764 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:02:43,764 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-15 15:02:43,764 INFO L290 TraceCheckUtils]: 11: Hoare triple {1566#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1566#true} is VALID [2022-04-15 15:02:43,764 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:02:43,765 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:02:43,765 INFO L290 TraceCheckUtils]: 14: Hoare triple {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:02:43,765 INFO L290 TraceCheckUtils]: 15: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:02:43,766 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1566#true} #96#return; {1621#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-15 15:02:43,766 INFO L272 TraceCheckUtils]: 17: Hoare triple {1621#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:02:43,767 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:02:43,767 INFO L290 TraceCheckUtils]: 19: Hoare triple {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:02:43,767 INFO L290 TraceCheckUtils]: 20: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:02:43,768 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1621#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #98#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-15 15:02:43,768 INFO L272 TraceCheckUtils]: 22: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:02:43,768 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 15:02:43,768 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 15:02:43,768 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:02:43,769 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} #100#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-15 15:02:43,769 INFO L290 TraceCheckUtils]: 27: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 15:02:43,770 INFO L290 TraceCheckUtils]: 28: Hoare triple {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~a~0 main_~x~0))} assume !false; {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 15:02:43,770 INFO L290 TraceCheckUtils]: 29: Hoare triple {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:02:43,771 INFO L290 TraceCheckUtils]: 30: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} assume !false; {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:02:43,771 INFO L290 TraceCheckUtils]: 31: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:02:43,772 INFO L290 TraceCheckUtils]: 32: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-15 15:02:43,772 INFO L290 TraceCheckUtils]: 33: Hoare triple {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} assume !false; {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-15 15:02:43,773 INFO L290 TraceCheckUtils]: 34: Hoare triple {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-15 15:02:43,773 INFO L290 TraceCheckUtils]: 35: Hoare triple {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} assume !false; {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-15 15:02:43,774 INFO L290 TraceCheckUtils]: 36: Hoare triple {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 20))} is VALID [2022-04-15 15:02:43,774 INFO L290 TraceCheckUtils]: 37: Hoare triple {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 20))} assume !false; {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 20))} is VALID [2022-04-15 15:02:43,775 INFO L272 TraceCheckUtils]: 38: Hoare triple {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 20))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:02:43,775 INFO L290 TraceCheckUtils]: 39: Hoare triple {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1698#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:02:43,776 INFO L290 TraceCheckUtils]: 40: Hoare triple {1698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1567#false} is VALID [2022-04-15 15:02:43,776 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 15:02:43,776 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 15:02:43,776 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:02:44,131 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-15 15:02:44,132 INFO L290 TraceCheckUtils]: 40: Hoare triple {1698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1567#false} is VALID [2022-04-15 15:02:44,132 INFO L290 TraceCheckUtils]: 39: Hoare triple {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1698#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:02:44,133 INFO L272 TraceCheckUtils]: 38: Hoare triple {1714#(= 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)); {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:02:44,133 INFO L290 TraceCheckUtils]: 37: Hoare triple {1714#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {1714#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:02:44,134 INFO L290 TraceCheckUtils]: 36: Hoare triple {1721#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1714#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:02:44,134 INFO L290 TraceCheckUtils]: 35: Hoare triple {1721#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} assume !false; {1721#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-15 15:02:44,135 INFO L290 TraceCheckUtils]: 34: Hoare triple {1728#(or (not (<= main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1721#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-15 15:02:44,135 INFO L290 TraceCheckUtils]: 33: Hoare triple {1728#(or (not (<= main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {1728#(or (not (<= main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:02:44,136 INFO L290 TraceCheckUtils]: 32: Hoare triple {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1728#(or (not (<= main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:02:44,136 INFO L290 TraceCheckUtils]: 31: Hoare triple {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:02:44,137 INFO L290 TraceCheckUtils]: 30: Hoare triple {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:02:44,137 INFO L290 TraceCheckUtils]: 29: Hoare triple {1745#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~a~0 main_~b~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:02:44,137 INFO L290 TraceCheckUtils]: 28: Hoare triple {1745#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~a~0 main_~b~0)))} assume !false; {1745#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~a~0 main_~b~0)))} is VALID [2022-04-15 15:02:44,138 INFO L290 TraceCheckUtils]: 27: Hoare triple {1566#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1745#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~a~0 main_~b~0)))} is VALID [2022-04-15 15:02:44,138 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1566#true} #100#return; {1566#true} is VALID [2022-04-15 15:02:44,138 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:02:44,138 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 15:02:44,138 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 15:02:44,138 INFO L272 TraceCheckUtils]: 22: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:02:44,138 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1566#true} {1566#true} #98#return; {1566#true} is VALID [2022-04-15 15:02:44,139 INFO L290 TraceCheckUtils]: 20: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:02:44,139 INFO L290 TraceCheckUtils]: 19: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 15:02:44,139 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 15:02:44,139 INFO L272 TraceCheckUtils]: 17: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:02:44,139 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1566#true} {1566#true} #96#return; {1566#true} is VALID [2022-04-15 15:02:44,139 INFO L290 TraceCheckUtils]: 15: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:02:44,139 INFO L290 TraceCheckUtils]: 14: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 15:02:44,139 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 15:02:44,139 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:02:44,139 INFO L290 TraceCheckUtils]: 11: Hoare triple {1566#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1566#true} is VALID [2022-04-15 15:02:44,140 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-15 15:02:44,140 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:02:44,140 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-15 15:02:44,140 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-15 15:02:44,140 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1566#true} is VALID [2022-04-15 15:02:44,140 INFO L290 TraceCheckUtils]: 5: Hoare triple {1566#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1566#true} is VALID [2022-04-15 15:02:44,140 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-15 15:02:44,140 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-15 15:02:44,140 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-15 15:02:44,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {1566#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(11, 2);call #Ultimate.allocInit(12, 3); {1566#true} is VALID [2022-04-15 15:02:44,140 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-15 15:02:44,141 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 15:02:44,141 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:02:44,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [128287826] [2022-04-15 15:02:44,141 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:02:44,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [659480785] [2022-04-15 15:02:44,141 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [659480785] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:02:44,141 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:02:44,141 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 18 [2022-04-15 15:02:44,142 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:02:44,142 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [634404620] [2022-04-15 15:02:44,142 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [634404620] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:02:44,142 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:02:44,142 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 15:02:44,142 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1996983045] [2022-04-15 15:02:44,142 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:02:44,142 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 42 [2022-04-15 15:02:44,143 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:02:44,143 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 15:02:44,165 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:02:44,165 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 15:02:44,166 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:02:44,166 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 15:02:44,166 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-15 15:02:44,166 INFO L87 Difference]: Start difference. First operand 71 states and 95 transitions. Second operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 15:02:45,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:02:45,302 INFO L93 Difference]: Finished difference Result 112 states and 151 transitions. [2022-04-15 15:02:45,302 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 15:02:45,302 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 42 [2022-04-15 15:02:45,302 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:02:45,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 15:02:45,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2022-04-15 15:02:45,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 15:02:45,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2022-04-15 15:02:45,307 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 117 transitions. [2022-04-15 15:02:45,405 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:02:45,417 INFO L225 Difference]: With dead ends: 112 [2022-04-15 15:02:45,417 INFO L226 Difference]: Without dead ends: 110 [2022-04-15 15:02:45,417 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 66 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 81 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=96, Invalid=410, Unknown=0, NotChecked=0, Total=506 [2022-04-15 15:02:45,418 INFO L913 BasicCegarLoop]: 52 mSDtfsCounter, 89 mSDsluCounter, 193 mSDsCounter, 0 mSdLazyCounter, 358 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 98 SdHoareTripleChecker+Valid, 245 SdHoareTripleChecker+Invalid, 414 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 358 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 15:02:45,418 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [98 Valid, 245 Invalid, 414 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 358 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 15:02:45,418 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-15 15:02:45,572 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 93. [2022-04-15 15:02:45,572 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:02:45,572 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:02:45,572 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:02:45,573 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:02:45,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:02:45,576 INFO L93 Difference]: Finished difference Result 110 states and 149 transitions. [2022-04-15 15:02:45,576 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 149 transitions. [2022-04-15 15:02:45,577 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:02:45,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:02:45,577 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 110 states. [2022-04-15 15:02:45,577 INFO L87 Difference]: Start difference. First operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 110 states. [2022-04-15 15:02:45,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:02:45,581 INFO L93 Difference]: Finished difference Result 110 states and 149 transitions. [2022-04-15 15:02:45,581 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 149 transitions. [2022-04-15 15:02:45,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:02:45,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:02:45,581 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:02:45,581 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:02:45,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:02:45,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 122 transitions. [2022-04-15 15:02:45,584 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 122 transitions. Word has length 42 [2022-04-15 15:02:45,584 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:02:45,584 INFO L478 AbstractCegarLoop]: Abstraction has 93 states and 122 transitions. [2022-04-15 15:02:45,584 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 15:02:45,584 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 93 states and 122 transitions. [2022-04-15 15:02:45,709 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:02:45,709 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 122 transitions. [2022-04-15 15:02:45,709 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-15 15:02:45,709 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:02:45,710 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:02:45,726 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-15 15:02:45,910 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:02:45,911 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:02:45,911 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:02:45,911 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 1 times [2022-04-15 15:02:45,911 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:02:45,911 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1007613283] [2022-04-15 15:02:45,912 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:02:45,912 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 2 times [2022-04-15 15:02:45,912 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:02:45,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1118617168] [2022-04-15 15:02:45,912 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:02:45,912 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:02:45,930 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:02:45,930 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [968199446] [2022-04-15 15:02:45,930 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:02:45,931 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:02:45,931 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:02:45,931 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-15 15:02:45,949 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-15 15:02:45,980 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:02:45,980 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:02:45,981 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 15:02:46,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:02:46,001 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:02:46,253 INFO L272 TraceCheckUtils]: 0: Hoare triple {2475#true} call ULTIMATE.init(); {2475#true} is VALID [2022-04-15 15:02:46,253 INFO L290 TraceCheckUtils]: 1: Hoare triple {2475#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(11, 2);call #Ultimate.allocInit(12, 3); {2475#true} is VALID [2022-04-15 15:02:46,254 INFO L290 TraceCheckUtils]: 2: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:02:46,254 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2475#true} {2475#true} #112#return; {2475#true} is VALID [2022-04-15 15:02:46,254 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#true} call #t~ret6 := main(); {2475#true} is VALID [2022-04-15 15:02:46,254 INFO L290 TraceCheckUtils]: 5: Hoare triple {2475#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2475#true} is VALID [2022-04-15 15:02:46,254 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:02:46,254 INFO L290 TraceCheckUtils]: 7: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:02:46,254 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:02:46,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:02:46,254 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2475#true} {2475#true} #94#return; {2475#true} is VALID [2022-04-15 15:02:46,254 INFO L290 TraceCheckUtils]: 11: Hoare triple {2475#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2475#true} is VALID [2022-04-15 15:02:46,254 INFO L272 TraceCheckUtils]: 12: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:02:46,255 INFO L290 TraceCheckUtils]: 13: Hoare triple {2475#true} ~cond := #in~cond; {2519#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:02:46,256 INFO L290 TraceCheckUtils]: 14: Hoare triple {2519#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2523#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:02:46,256 INFO L290 TraceCheckUtils]: 15: Hoare triple {2523#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2523#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:02:46,256 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2523#(not (= |assume_abort_if_not_#in~cond| 0))} {2475#true} #96#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-15 15:02:46,257 INFO L272 TraceCheckUtils]: 17: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:02:46,257 INFO L290 TraceCheckUtils]: 18: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:02:46,257 INFO L290 TraceCheckUtils]: 19: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:02:46,257 INFO L290 TraceCheckUtils]: 20: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:02:46,257 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2475#true} {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #98#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-15 15:02:46,257 INFO L272 TraceCheckUtils]: 22: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:02:46,257 INFO L290 TraceCheckUtils]: 23: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:02:46,258 INFO L290 TraceCheckUtils]: 24: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:02:46,258 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:02:46,258 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2475#true} {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #100#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-15 15:02:46,258 INFO L290 TraceCheckUtils]: 27: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2564#(<= 0 main_~b~0)} is VALID [2022-04-15 15:02:46,259 INFO L290 TraceCheckUtils]: 28: Hoare triple {2564#(<= 0 main_~b~0)} assume !false; {2564#(<= 0 main_~b~0)} is VALID [2022-04-15 15:02:46,259 INFO L290 TraceCheckUtils]: 29: Hoare triple {2564#(<= 0 main_~b~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:02:46,259 INFO L290 TraceCheckUtils]: 30: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:02:46,260 INFO L290 TraceCheckUtils]: 31: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:02:46,260 INFO L290 TraceCheckUtils]: 32: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:02:46,260 INFO L272 TraceCheckUtils]: 33: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:02:46,260 INFO L290 TraceCheckUtils]: 34: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:02:46,260 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:02:46,261 INFO L290 TraceCheckUtils]: 36: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:02:46,261 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2475#true} {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:02:46,261 INFO L272 TraceCheckUtils]: 38: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:02:46,261 INFO L290 TraceCheckUtils]: 39: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:02:46,261 INFO L290 TraceCheckUtils]: 40: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:02:46,262 INFO L290 TraceCheckUtils]: 41: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:02:46,262 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2475#true} {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-15 15:02:46,263 INFO L272 TraceCheckUtils]: 43: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:02:46,263 INFO L290 TraceCheckUtils]: 44: Hoare triple {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2618#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:02:46,264 INFO L290 TraceCheckUtils]: 45: Hoare triple {2618#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2476#false} is VALID [2022-04-15 15:02:46,264 INFO L290 TraceCheckUtils]: 46: Hoare triple {2476#false} assume !false; {2476#false} is VALID [2022-04-15 15:02:46,264 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 7 proven. 6 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-15 15:02:46,264 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:02:46,437 INFO L290 TraceCheckUtils]: 46: Hoare triple {2476#false} assume !false; {2476#false} is VALID [2022-04-15 15:02:46,438 INFO L290 TraceCheckUtils]: 45: Hoare triple {2618#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2476#false} is VALID [2022-04-15 15:02:46,438 INFO L290 TraceCheckUtils]: 44: Hoare triple {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2618#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:02:46,439 INFO L272 TraceCheckUtils]: 43: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:02:46,439 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2475#true} {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #104#return; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 15:02:46,439 INFO L290 TraceCheckUtils]: 41: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:02:46,439 INFO L290 TraceCheckUtils]: 40: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:02:46,440 INFO L290 TraceCheckUtils]: 39: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:02:46,440 INFO L272 TraceCheckUtils]: 38: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:02:46,441 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2475#true} {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #102#return; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 15:02:46,442 INFO L290 TraceCheckUtils]: 36: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:02:46,442 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:02:46,442 INFO L290 TraceCheckUtils]: 34: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:02:46,442 INFO L272 TraceCheckUtils]: 33: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:02:46,443 INFO L290 TraceCheckUtils]: 32: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 15:02:46,444 INFO L290 TraceCheckUtils]: 31: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 15:02:46,444 INFO L290 TraceCheckUtils]: 30: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 15:02:46,444 INFO L290 TraceCheckUtils]: 29: Hoare triple {2475#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-15 15:02:46,445 INFO L290 TraceCheckUtils]: 28: Hoare triple {2475#true} assume !false; {2475#true} is VALID [2022-04-15 15:02:46,445 INFO L290 TraceCheckUtils]: 27: Hoare triple {2475#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2475#true} is VALID [2022-04-15 15:02:46,445 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2475#true} {2475#true} #100#return; {2475#true} is VALID [2022-04-15 15:02:46,445 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:02:46,445 INFO L290 TraceCheckUtils]: 24: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:02:46,445 INFO L290 TraceCheckUtils]: 23: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:02:46,445 INFO L272 TraceCheckUtils]: 22: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:02:46,445 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2475#true} {2475#true} #98#return; {2475#true} is VALID [2022-04-15 15:02:46,445 INFO L290 TraceCheckUtils]: 20: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:02:46,445 INFO L290 TraceCheckUtils]: 19: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:02:46,445 INFO L290 TraceCheckUtils]: 18: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:02:46,446 INFO L272 TraceCheckUtils]: 17: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:02:46,446 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2475#true} {2475#true} #96#return; {2475#true} is VALID [2022-04-15 15:02:46,446 INFO L290 TraceCheckUtils]: 15: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:02:46,446 INFO L290 TraceCheckUtils]: 14: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:02:46,446 INFO L290 TraceCheckUtils]: 13: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:02:46,446 INFO L272 TraceCheckUtils]: 12: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:02:46,446 INFO L290 TraceCheckUtils]: 11: Hoare triple {2475#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2475#true} is VALID [2022-04-15 15:02:46,446 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2475#true} {2475#true} #94#return; {2475#true} is VALID [2022-04-15 15:02:46,446 INFO L290 TraceCheckUtils]: 9: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:02:46,446 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-15 15:02:46,446 INFO L290 TraceCheckUtils]: 7: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-15 15:02:46,447 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2475#true} is VALID [2022-04-15 15:02:46,447 INFO L290 TraceCheckUtils]: 5: Hoare triple {2475#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2475#true} is VALID [2022-04-15 15:02:46,447 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#true} call #t~ret6 := main(); {2475#true} is VALID [2022-04-15 15:02:46,447 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2475#true} {2475#true} #112#return; {2475#true} is VALID [2022-04-15 15:02:46,447 INFO L290 TraceCheckUtils]: 2: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-15 15:02:46,447 INFO L290 TraceCheckUtils]: 1: Hoare triple {2475#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(11, 2);call #Ultimate.allocInit(12, 3); {2475#true} is VALID [2022-04-15 15:02:46,447 INFO L272 TraceCheckUtils]: 0: Hoare triple {2475#true} call ULTIMATE.init(); {2475#true} is VALID [2022-04-15 15:02:46,447 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 15:02:46,447 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:02:46,447 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1118617168] [2022-04-15 15:02:46,448 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:02:46,448 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [968199446] [2022-04-15 15:02:46,448 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [968199446] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 15:02:46,448 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:02:46,448 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-15 15:02:46,448 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:02:46,448 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1007613283] [2022-04-15 15:02:46,448 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1007613283] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:02:46,448 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:02:46,448 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:02:46,448 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2053166924] [2022-04-15 15:02:46,448 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:02:46,449 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-15 15:02:46,449 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:02:46,449 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:02:46,469 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-15 15:02:46,469 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:02:46,470 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:02:46,470 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:02:46,470 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-15 15:02:46,470 INFO L87 Difference]: Start difference. First operand 93 states and 122 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:02:46,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:02:46,787 INFO L93 Difference]: Finished difference Result 130 states and 179 transitions. [2022-04-15 15:02:46,787 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:02:46,788 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-15 15:02:46,788 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:02:46,788 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:02:46,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 15:02:46,789 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:02:46,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 15:02:46,790 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 15:02:46,826 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:02:46,829 INFO L225 Difference]: With dead ends: 130 [2022-04-15 15:02:46,829 INFO L226 Difference]: Without dead ends: 128 [2022-04-15 15:02:46,829 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-15 15:02:46,830 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 8 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:02:46,830 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 141 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 15:02:46,830 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-15 15:02:47,058 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 123. [2022-04-15 15:02:47,058 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:02:47,058 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 15:02:47,059 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 15:02:47,059 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 15:02:47,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:02:47,064 INFO L93 Difference]: Finished difference Result 128 states and 177 transitions. [2022-04-15 15:02:47,064 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 177 transitions. [2022-04-15 15:02:47,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:02:47,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:02:47,065 INFO L74 IsIncluded]: Start isIncluded. First operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 128 states. [2022-04-15 15:02:47,065 INFO L87 Difference]: Start difference. First operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 128 states. [2022-04-15 15:02:47,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:02:47,070 INFO L93 Difference]: Finished difference Result 128 states and 177 transitions. [2022-04-15 15:02:47,070 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 177 transitions. [2022-04-15 15:02:47,071 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:02:47,071 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:02:47,071 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:02:47,071 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:02:47,071 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 15:02:47,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 172 transitions. [2022-04-15 15:02:47,076 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 172 transitions. Word has length 47 [2022-04-15 15:02:47,076 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:02:47,076 INFO L478 AbstractCegarLoop]: Abstraction has 123 states and 172 transitions. [2022-04-15 15:02:47,076 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:02:47,076 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 123 states and 172 transitions. [2022-04-15 15:02:47,266 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 172 edges. 172 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:02:47,267 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 172 transitions. [2022-04-15 15:02:47,267 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-15 15:02:47,267 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:02:47,267 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:02:47,288 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 15:02:47,468 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:02:47,468 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:02:47,468 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:02:47,468 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 1 times [2022-04-15 15:02:47,468 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:02:47,469 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [573872067] [2022-04-15 15:02:47,469 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:02:47,469 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 2 times [2022-04-15 15:02:47,469 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:02:47,469 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [418689684] [2022-04-15 15:02:47,469 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:02:47,469 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:02:47,481 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:02:47,481 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1897757765] [2022-04-15 15:02:47,482 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:02:47,482 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:02:47,482 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:02:47,483 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-15 15:02:47,514 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-15 15:02:47,536 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:02:47,537 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:02:47,537 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 15:02:47,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:02:47,552 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:02:54,150 INFO L272 TraceCheckUtils]: 0: Hoare triple {3530#true} call ULTIMATE.init(); {3530#true} is VALID [2022-04-15 15:02:54,151 INFO L290 TraceCheckUtils]: 1: Hoare triple {3530#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(11, 2);call #Ultimate.allocInit(12, 3); {3530#true} is VALID [2022-04-15 15:02:54,151 INFO L290 TraceCheckUtils]: 2: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:02:54,151 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3530#true} {3530#true} #112#return; {3530#true} is VALID [2022-04-15 15:02:54,151 INFO L272 TraceCheckUtils]: 4: Hoare triple {3530#true} call #t~ret6 := main(); {3530#true} is VALID [2022-04-15 15:02:54,151 INFO L290 TraceCheckUtils]: 5: Hoare triple {3530#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3530#true} is VALID [2022-04-15 15:02:54,151 INFO L272 TraceCheckUtils]: 6: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3530#true} is VALID [2022-04-15 15:02:54,151 INFO L290 TraceCheckUtils]: 7: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:02:54,151 INFO L290 TraceCheckUtils]: 8: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:02:54,152 INFO L290 TraceCheckUtils]: 9: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:02:54,152 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3530#true} {3530#true} #94#return; {3530#true} is VALID [2022-04-15 15:02:54,152 INFO L290 TraceCheckUtils]: 11: Hoare triple {3530#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3530#true} is VALID [2022-04-15 15:02:54,152 INFO L272 TraceCheckUtils]: 12: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3530#true} is VALID [2022-04-15 15:02:54,152 INFO L290 TraceCheckUtils]: 13: Hoare triple {3530#true} ~cond := #in~cond; {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:02:54,152 INFO L290 TraceCheckUtils]: 14: Hoare triple {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:02:54,153 INFO L290 TraceCheckUtils]: 15: Hoare triple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:02:54,153 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} {3530#true} #96#return; {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-15 15:02:54,153 INFO L272 TraceCheckUtils]: 17: Hoare triple {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-15 15:02:54,153 INFO L290 TraceCheckUtils]: 18: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:02:54,154 INFO L290 TraceCheckUtils]: 19: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:02:54,154 INFO L290 TraceCheckUtils]: 20: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:02:54,154 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3530#true} {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #98#return; {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-15 15:02:54,154 INFO L272 TraceCheckUtils]: 22: Hoare triple {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-15 15:02:54,155 INFO L290 TraceCheckUtils]: 23: Hoare triple {3530#true} ~cond := #in~cond; {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:02:54,155 INFO L290 TraceCheckUtils]: 24: Hoare triple {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:02:54,155 INFO L290 TraceCheckUtils]: 25: Hoare triple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:02:54,156 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #100#return; {3616#(and (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-15 15:02:54,156 INFO L290 TraceCheckUtils]: 27: Hoare triple {3616#(and (<= main_~y~0 20) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3620#(and (= main_~r~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:02:54,156 INFO L290 TraceCheckUtils]: 28: Hoare triple {3620#(and (= main_~r~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3620#(and (= main_~r~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:02:54,157 INFO L290 TraceCheckUtils]: 29: Hoare triple {3620#(and (= main_~r~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:02:54,157 INFO L290 TraceCheckUtils]: 30: Hoare triple {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:02:54,158 INFO L290 TraceCheckUtils]: 31: Hoare triple {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:02:54,158 INFO L290 TraceCheckUtils]: 32: Hoare triple {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-15 15:02:54,159 INFO L290 TraceCheckUtils]: 33: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} assume !false; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-15 15:02:54,159 INFO L290 TraceCheckUtils]: 34: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-15 15:02:54,159 INFO L290 TraceCheckUtils]: 35: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} assume !false; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-15 15:02:54,160 INFO L290 TraceCheckUtils]: 36: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-15 15:02:54,160 INFO L290 TraceCheckUtils]: 37: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} assume !false; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-15 15:02:54,160 INFO L272 TraceCheckUtils]: 38: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3530#true} is VALID [2022-04-15 15:02:54,160 INFO L290 TraceCheckUtils]: 39: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:02:54,161 INFO L290 TraceCheckUtils]: 40: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:02:54,161 INFO L290 TraceCheckUtils]: 41: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:02:54,161 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3530#true} {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} #102#return; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-15 15:02:54,162 INFO L272 TraceCheckUtils]: 43: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3671#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:02:54,162 INFO L290 TraceCheckUtils]: 44: Hoare triple {3671#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3675#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:02:54,163 INFO L290 TraceCheckUtils]: 45: Hoare triple {3675#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3531#false} is VALID [2022-04-15 15:02:54,163 INFO L290 TraceCheckUtils]: 46: Hoare triple {3531#false} assume !false; {3531#false} is VALID [2022-04-15 15:02:54,163 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 11 proven. 7 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 15:02:54,163 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:04:16,794 INFO L290 TraceCheckUtils]: 46: Hoare triple {3531#false} assume !false; {3531#false} is VALID [2022-04-15 15:04:16,795 INFO L290 TraceCheckUtils]: 45: Hoare triple {3675#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3531#false} is VALID [2022-04-15 15:04:16,795 INFO L290 TraceCheckUtils]: 44: Hoare triple {3671#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3675#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:04:16,796 INFO L272 TraceCheckUtils]: 43: Hoare triple {3691#(= 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)); {3671#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:04:16,796 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3530#true} {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:16,797 INFO L290 TraceCheckUtils]: 41: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:16,797 INFO L290 TraceCheckUtils]: 40: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:04:16,797 INFO L290 TraceCheckUtils]: 39: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:04:16,797 INFO L272 TraceCheckUtils]: 38: Hoare triple {3691#(= 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)); {3530#true} is VALID [2022-04-15 15:04:16,798 INFO L290 TraceCheckUtils]: 37: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:16,798 INFO L290 TraceCheckUtils]: 36: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:16,798 INFO L290 TraceCheckUtils]: 35: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:16,799 INFO L290 TraceCheckUtils]: 34: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:16,799 INFO L290 TraceCheckUtils]: 33: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:17,432 INFO L290 TraceCheckUtils]: 32: Hoare triple {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:17,433 INFO L290 TraceCheckUtils]: 31: Hoare triple {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} assume !(~c~0 >= ~b~0); {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} is VALID [2022-04-15 15:04:17,433 INFO L290 TraceCheckUtils]: 30: Hoare triple {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} assume !false; {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} is VALID [2022-04-15 15:04:17,434 INFO L290 TraceCheckUtils]: 29: Hoare triple {3735#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} is VALID [2022-04-15 15:04:17,434 INFO L290 TraceCheckUtils]: 28: Hoare triple {3735#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3735#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:04:17,434 INFO L290 TraceCheckUtils]: 27: Hoare triple {3530#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3735#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:04:17,435 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3530#true} {3530#true} #100#return; {3530#true} is VALID [2022-04-15 15:04:17,435 INFO L290 TraceCheckUtils]: 25: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:17,435 INFO L290 TraceCheckUtils]: 24: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:04:17,435 INFO L290 TraceCheckUtils]: 23: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:04:17,435 INFO L272 TraceCheckUtils]: 22: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-15 15:04:17,435 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3530#true} {3530#true} #98#return; {3530#true} is VALID [2022-04-15 15:04:17,435 INFO L290 TraceCheckUtils]: 20: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:17,435 INFO L290 TraceCheckUtils]: 19: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:04:17,435 INFO L290 TraceCheckUtils]: 18: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:04:17,435 INFO L272 TraceCheckUtils]: 17: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-15 15:04:17,435 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3530#true} {3530#true} #96#return; {3530#true} is VALID [2022-04-15 15:04:17,436 INFO L290 TraceCheckUtils]: 15: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:17,436 INFO L290 TraceCheckUtils]: 14: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:04:17,436 INFO L290 TraceCheckUtils]: 13: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:04:17,436 INFO L272 TraceCheckUtils]: 12: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3530#true} is VALID [2022-04-15 15:04:17,436 INFO L290 TraceCheckUtils]: 11: Hoare triple {3530#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3530#true} is VALID [2022-04-15 15:04:17,436 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3530#true} {3530#true} #94#return; {3530#true} is VALID [2022-04-15 15:04:17,436 INFO L290 TraceCheckUtils]: 9: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:17,436 INFO L290 TraceCheckUtils]: 8: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-15 15:04:17,436 INFO L290 TraceCheckUtils]: 7: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-15 15:04:17,436 INFO L272 TraceCheckUtils]: 6: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3530#true} is VALID [2022-04-15 15:04:17,436 INFO L290 TraceCheckUtils]: 5: Hoare triple {3530#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3530#true} is VALID [2022-04-15 15:04:17,436 INFO L272 TraceCheckUtils]: 4: Hoare triple {3530#true} call #t~ret6 := main(); {3530#true} is VALID [2022-04-15 15:04:17,437 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3530#true} {3530#true} #112#return; {3530#true} is VALID [2022-04-15 15:04:17,437 INFO L290 TraceCheckUtils]: 2: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-15 15:04:17,437 INFO L290 TraceCheckUtils]: 1: Hoare triple {3530#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(11, 2);call #Ultimate.allocInit(12, 3); {3530#true} is VALID [2022-04-15 15:04:17,437 INFO L272 TraceCheckUtils]: 0: Hoare triple {3530#true} call ULTIMATE.init(); {3530#true} is VALID [2022-04-15 15:04:17,437 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 15:04:17,437 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:04:17,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [418689684] [2022-04-15 15:04:17,437 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:04:17,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1897757765] [2022-04-15 15:04:17,438 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1897757765] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:04:17,438 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:04:17,438 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 7] total 14 [2022-04-15 15:04:17,438 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:04:17,438 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [573872067] [2022-04-15 15:04:17,438 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [573872067] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:17,438 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:17,438 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 15:04:17,438 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [292722726] [2022-04-15 15:04:17,438 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:04:17,439 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 47 [2022-04-15 15:04:17,439 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:04:17,439 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 15:04:17,467 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-15 15:04:17,467 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 15:04:17,467 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:17,467 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 15:04:17,467 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=147, Unknown=0, NotChecked=0, Total=182 [2022-04-15 15:04:17,468 INFO L87 Difference]: Start difference. First operand 123 states and 172 transitions. Second operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 15:04:18,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:18,519 INFO L93 Difference]: Finished difference Result 137 states and 184 transitions. [2022-04-15 15:04:18,519 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 15:04:18,519 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 47 [2022-04-15 15:04:18,519 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:04:18,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 15:04:18,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 101 transitions. [2022-04-15 15:04:18,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 15:04:18,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 101 transitions. [2022-04-15 15:04:18,523 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 101 transitions. [2022-04-15 15:04:18,601 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:04:18,603 INFO L225 Difference]: With dead ends: 137 [2022-04-15 15:04:18,603 INFO L226 Difference]: Without dead ends: 135 [2022-04-15 15:04:18,604 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 80 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 38 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=51, Invalid=221, Unknown=0, NotChecked=0, Total=272 [2022-04-15 15:04:18,604 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 58 mSDsluCounter, 184 mSDsCounter, 0 mSdLazyCounter, 253 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 70 SdHoareTripleChecker+Valid, 231 SdHoareTripleChecker+Invalid, 280 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 253 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 15:04:18,604 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [70 Valid, 231 Invalid, 280 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 253 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 15:04:18,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2022-04-15 15:04:18,842 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 131. [2022-04-15 15:04:18,842 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:04:18,843 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 15:04:18,843 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 15:04:18,843 INFO L87 Difference]: Start difference. First operand 135 states. Second operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 15:04:18,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:18,847 INFO L93 Difference]: Finished difference Result 135 states and 182 transitions. [2022-04-15 15:04:18,847 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 182 transitions. [2022-04-15 15:04:18,847 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:18,847 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:18,848 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 135 states. [2022-04-15 15:04:18,848 INFO L87 Difference]: Start difference. First operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 135 states. [2022-04-15 15:04:18,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:18,851 INFO L93 Difference]: Finished difference Result 135 states and 182 transitions. [2022-04-15 15:04:18,851 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 182 transitions. [2022-04-15 15:04:18,852 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:18,852 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:18,852 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:04:18,852 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:04:18,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 15:04:18,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 178 transitions. [2022-04-15 15:04:18,856 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 178 transitions. Word has length 47 [2022-04-15 15:04:18,856 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:04:18,856 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 178 transitions. [2022-04-15 15:04:18,856 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 15:04:18,856 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 178 transitions. [2022-04-15 15:04:19,044 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 178 edges. 178 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:04:19,044 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 178 transitions. [2022-04-15 15:04:19,045 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-15 15:04:19,045 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:04:19,045 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:04:19,063 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-15 15:04:19,245 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:19,245 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:04:19,246 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:04:19,246 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 3 times [2022-04-15 15:04:19,246 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:19,246 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [435014761] [2022-04-15 15:04:19,246 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:04:19,246 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 4 times [2022-04-15 15:04:19,246 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:04:19,246 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [488826085] [2022-04-15 15:04:19,247 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:04:19,247 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:04:19,263 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:04:19,263 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [628130669] [2022-04-15 15:04:19,263 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:04:19,263 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:19,263 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:04:19,264 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-15 15:04:19,265 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-15 15:04:19,299 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:04:19,299 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:04:19,300 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 15:04:19,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:19,308 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:04:19,431 INFO L272 TraceCheckUtils]: 0: Hoare triple {4637#true} call ULTIMATE.init(); {4637#true} is VALID [2022-04-15 15:04:19,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {4637#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(11, 2);call #Ultimate.allocInit(12, 3); {4637#true} is VALID [2022-04-15 15:04:19,431 INFO L290 TraceCheckUtils]: 2: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-15 15:04:19,431 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4637#true} {4637#true} #112#return; {4637#true} is VALID [2022-04-15 15:04:19,431 INFO L272 TraceCheckUtils]: 4: Hoare triple {4637#true} call #t~ret6 := main(); {4637#true} is VALID [2022-04-15 15:04:19,431 INFO L290 TraceCheckUtils]: 5: Hoare triple {4637#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4637#true} is VALID [2022-04-15 15:04:19,432 INFO L272 TraceCheckUtils]: 6: Hoare triple {4637#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4637#true} is VALID [2022-04-15 15:04:19,432 INFO L290 TraceCheckUtils]: 7: Hoare triple {4637#true} ~cond := #in~cond; {4637#true} is VALID [2022-04-15 15:04:19,432 INFO L290 TraceCheckUtils]: 8: Hoare triple {4637#true} assume !(0 == ~cond); {4637#true} is VALID [2022-04-15 15:04:19,432 INFO L290 TraceCheckUtils]: 9: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-15 15:04:19,432 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4637#true} {4637#true} #94#return; {4637#true} is VALID [2022-04-15 15:04:19,432 INFO L290 TraceCheckUtils]: 11: Hoare triple {4637#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4637#true} is VALID [2022-04-15 15:04:19,432 INFO L272 TraceCheckUtils]: 12: Hoare triple {4637#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4637#true} is VALID [2022-04-15 15:04:19,432 INFO L290 TraceCheckUtils]: 13: Hoare triple {4637#true} ~cond := #in~cond; {4637#true} is VALID [2022-04-15 15:04:19,432 INFO L290 TraceCheckUtils]: 14: Hoare triple {4637#true} assume !(0 == ~cond); {4637#true} is VALID [2022-04-15 15:04:19,432 INFO L290 TraceCheckUtils]: 15: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-15 15:04:19,432 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4637#true} {4637#true} #96#return; {4637#true} is VALID [2022-04-15 15:04:19,432 INFO L272 TraceCheckUtils]: 17: Hoare triple {4637#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4637#true} is VALID [2022-04-15 15:04:19,433 INFO L290 TraceCheckUtils]: 18: Hoare triple {4637#true} ~cond := #in~cond; {4637#true} is VALID [2022-04-15 15:04:19,433 INFO L290 TraceCheckUtils]: 19: Hoare triple {4637#true} assume !(0 == ~cond); {4637#true} is VALID [2022-04-15 15:04:19,433 INFO L290 TraceCheckUtils]: 20: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-15 15:04:19,433 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4637#true} {4637#true} #98#return; {4637#true} is VALID [2022-04-15 15:04:19,433 INFO L272 TraceCheckUtils]: 22: Hoare triple {4637#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4637#true} is VALID [2022-04-15 15:04:19,433 INFO L290 TraceCheckUtils]: 23: Hoare triple {4637#true} ~cond := #in~cond; {4637#true} is VALID [2022-04-15 15:04:19,433 INFO L290 TraceCheckUtils]: 24: Hoare triple {4637#true} assume !(0 == ~cond); {4637#true} is VALID [2022-04-15 15:04:19,433 INFO L290 TraceCheckUtils]: 25: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-15 15:04:19,433 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4637#true} {4637#true} #100#return; {4637#true} is VALID [2022-04-15 15:04:19,433 INFO L290 TraceCheckUtils]: 27: Hoare triple {4637#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4637#true} is VALID [2022-04-15 15:04:19,433 INFO L290 TraceCheckUtils]: 28: Hoare triple {4637#true} assume !false; {4637#true} is VALID [2022-04-15 15:04:19,433 INFO L290 TraceCheckUtils]: 29: Hoare triple {4637#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4637#true} is VALID [2022-04-15 15:04:19,434 INFO L290 TraceCheckUtils]: 30: Hoare triple {4637#true} assume !false; {4637#true} is VALID [2022-04-15 15:04:19,434 INFO L290 TraceCheckUtils]: 31: Hoare triple {4637#true} assume !(~c~0 >= ~b~0); {4735#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-15 15:04:19,435 INFO L290 TraceCheckUtils]: 32: Hoare triple {4735#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4739#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 15:04:19,435 INFO L290 TraceCheckUtils]: 33: Hoare triple {4739#(< main_~b~0 main_~a~0)} assume !false; {4739#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 15:04:19,435 INFO L290 TraceCheckUtils]: 34: Hoare triple {4739#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4746#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 15:04:19,436 INFO L290 TraceCheckUtils]: 35: Hoare triple {4746#(< main_~b~0 main_~c~0)} assume !false; {4746#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 15:04:19,436 INFO L290 TraceCheckUtils]: 36: Hoare triple {4746#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4638#false} is VALID [2022-04-15 15:04:19,436 INFO L290 TraceCheckUtils]: 37: Hoare triple {4638#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4638#false} is VALID [2022-04-15 15:04:19,436 INFO L290 TraceCheckUtils]: 38: Hoare triple {4638#false} assume !false; {4638#false} is VALID [2022-04-15 15:04:19,436 INFO L290 TraceCheckUtils]: 39: Hoare triple {4638#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4638#false} is VALID [2022-04-15 15:04:19,437 INFO L290 TraceCheckUtils]: 40: Hoare triple {4638#false} assume !false; {4638#false} is VALID [2022-04-15 15:04:19,437 INFO L290 TraceCheckUtils]: 41: Hoare triple {4638#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4638#false} is VALID [2022-04-15 15:04:19,437 INFO L290 TraceCheckUtils]: 42: Hoare triple {4638#false} assume !false; {4638#false} is VALID [2022-04-15 15:04:19,437 INFO L272 TraceCheckUtils]: 43: Hoare triple {4638#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4638#false} is VALID [2022-04-15 15:04:19,437 INFO L290 TraceCheckUtils]: 44: Hoare triple {4638#false} ~cond := #in~cond; {4638#false} is VALID [2022-04-15 15:04:19,437 INFO L290 TraceCheckUtils]: 45: Hoare triple {4638#false} assume 0 == ~cond; {4638#false} is VALID [2022-04-15 15:04:19,437 INFO L290 TraceCheckUtils]: 46: Hoare triple {4638#false} assume !false; {4638#false} is VALID [2022-04-15 15:04:19,437 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 13 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 15:04:19,437 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 15:04:19,437 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:04:19,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [488826085] [2022-04-15 15:04:19,437 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:04:19,438 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [628130669] [2022-04-15 15:04:19,438 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [628130669] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:19,438 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:19,438 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:04:19,438 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:04:19,438 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [435014761] [2022-04-15 15:04:19,438 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [435014761] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:19,438 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:19,438 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:04:19,438 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [749301661] [2022-04-15 15:04:19,438 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:04:19,439 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 47 [2022-04-15 15:04:19,439 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:04:19,439 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 15:04:19,463 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:04:19,463 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:04:19,463 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:19,463 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:04:19,463 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 15:04:19,463 INFO L87 Difference]: Start difference. First operand 131 states and 178 transitions. Second operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 15:04:19,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:19,919 INFO L93 Difference]: Finished difference Result 170 states and 230 transitions. [2022-04-15 15:04:19,919 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 15:04:19,919 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 47 [2022-04-15 15:04:19,920 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:04:19,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 15:04:19,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-15 15:04:19,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 15:04:19,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-15 15:04:19,922 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 102 transitions. [2022-04-15 15:04:19,990 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:04:19,992 INFO L225 Difference]: With dead ends: 170 [2022-04-15 15:04:19,992 INFO L226 Difference]: Without dead ends: 114 [2022-04-15 15:04:19,992 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-04-15 15:04:19,993 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 18 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 82 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 91 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 82 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:04:19,993 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 155 Invalid, 91 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 82 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 15:04:19,993 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2022-04-15 15:04:20,190 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 106. [2022-04-15 15:04:20,190 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:04:20,191 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-15 15:04:20,191 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-15 15:04:20,191 INFO L87 Difference]: Start difference. First operand 114 states. Second operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-15 15:04:20,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:20,194 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-15 15:04:20,194 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-04-15 15:04:20,194 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:20,194 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:20,195 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) Second operand 114 states. [2022-04-15 15:04:20,195 INFO L87 Difference]: Start difference. First operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) Second operand 114 states. [2022-04-15 15:04:20,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:20,197 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-15 15:04:20,197 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-04-15 15:04:20,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:20,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:20,198 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:04:20,198 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:04:20,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-15 15:04:20,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 137 transitions. [2022-04-15 15:04:20,201 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 137 transitions. Word has length 47 [2022-04-15 15:04:20,201 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:04:20,201 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 137 transitions. [2022-04-15 15:04:20,201 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 15:04:20,201 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 137 transitions. [2022-04-15 15:04:20,355 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:04:20,355 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 137 transitions. [2022-04-15 15:04:20,356 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 15:04:20,356 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:04:20,356 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:04:20,372 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-15 15:04:20,556 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:20,556 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:04:20,557 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:04:20,557 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 1 times [2022-04-15 15:04:20,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:20,557 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1596295843] [2022-04-15 15:04:20,557 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:04:20,557 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 2 times [2022-04-15 15:04:20,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:04:20,557 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1715432592] [2022-04-15 15:04:20,557 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:04:20,558 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:04:20,567 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:04:20,567 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1345615982] [2022-04-15 15:04:20,567 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:04:20,568 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:20,568 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:04:20,581 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-15 15:04:20,582 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-15 15:04:20,626 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:04:20,626 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:04:20,626 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 15:04:20,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:20,634 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:04:20,781 INFO L272 TraceCheckUtils]: 0: Hoare triple {5567#true} call ULTIMATE.init(); {5567#true} is VALID [2022-04-15 15:04:20,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {5567#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(11, 2);call #Ultimate.allocInit(12, 3); {5567#true} is VALID [2022-04-15 15:04:20,781 INFO L290 TraceCheckUtils]: 2: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-15 15:04:20,781 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5567#true} {5567#true} #112#return; {5567#true} is VALID [2022-04-15 15:04:20,781 INFO L272 TraceCheckUtils]: 4: Hoare triple {5567#true} call #t~ret6 := main(); {5567#true} is VALID [2022-04-15 15:04:20,781 INFO L290 TraceCheckUtils]: 5: Hoare triple {5567#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5567#true} is VALID [2022-04-15 15:04:20,781 INFO L272 TraceCheckUtils]: 6: Hoare triple {5567#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {5567#true} is VALID [2022-04-15 15:04:20,782 INFO L290 TraceCheckUtils]: 7: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-15 15:04:20,782 INFO L290 TraceCheckUtils]: 8: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-15 15:04:20,782 INFO L290 TraceCheckUtils]: 9: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-15 15:04:20,782 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5567#true} {5567#true} #94#return; {5567#true} is VALID [2022-04-15 15:04:20,782 INFO L290 TraceCheckUtils]: 11: Hoare triple {5567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5567#true} is VALID [2022-04-15 15:04:20,782 INFO L272 TraceCheckUtils]: 12: Hoare triple {5567#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {5567#true} is VALID [2022-04-15 15:04:20,782 INFO L290 TraceCheckUtils]: 13: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-15 15:04:20,782 INFO L290 TraceCheckUtils]: 14: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-15 15:04:20,782 INFO L290 TraceCheckUtils]: 15: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-15 15:04:20,782 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5567#true} {5567#true} #96#return; {5567#true} is VALID [2022-04-15 15:04:20,782 INFO L272 TraceCheckUtils]: 17: Hoare triple {5567#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5567#true} is VALID [2022-04-15 15:04:20,782 INFO L290 TraceCheckUtils]: 18: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-15 15:04:20,783 INFO L290 TraceCheckUtils]: 19: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-15 15:04:20,783 INFO L290 TraceCheckUtils]: 20: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-15 15:04:20,783 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5567#true} {5567#true} #98#return; {5567#true} is VALID [2022-04-15 15:04:20,783 INFO L272 TraceCheckUtils]: 22: Hoare triple {5567#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5567#true} is VALID [2022-04-15 15:04:20,783 INFO L290 TraceCheckUtils]: 23: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-15 15:04:20,783 INFO L290 TraceCheckUtils]: 24: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-15 15:04:20,783 INFO L290 TraceCheckUtils]: 25: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-15 15:04:20,783 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5567#true} {5567#true} #100#return; {5567#true} is VALID [2022-04-15 15:04:20,783 INFO L290 TraceCheckUtils]: 27: Hoare triple {5567#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5567#true} is VALID [2022-04-15 15:04:20,783 INFO L290 TraceCheckUtils]: 28: Hoare triple {5567#true} assume !false; {5567#true} is VALID [2022-04-15 15:04:20,783 INFO L290 TraceCheckUtils]: 29: Hoare triple {5567#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5567#true} is VALID [2022-04-15 15:04:20,784 INFO L290 TraceCheckUtils]: 30: Hoare triple {5567#true} assume !false; {5567#true} is VALID [2022-04-15 15:04:20,786 INFO L290 TraceCheckUtils]: 31: Hoare triple {5567#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 15:04:20,787 INFO L290 TraceCheckUtils]: 32: Hoare triple {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !false; {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 15:04:20,787 INFO L272 TraceCheckUtils]: 33: Hoare triple {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5567#true} is VALID [2022-04-15 15:04:20,787 INFO L290 TraceCheckUtils]: 34: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-15 15:04:20,787 INFO L290 TraceCheckUtils]: 35: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-15 15:04:20,787 INFO L290 TraceCheckUtils]: 36: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-15 15:04:20,788 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5567#true} {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #102#return; {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 15:04:20,788 INFO L272 TraceCheckUtils]: 38: Hoare triple {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5567#true} is VALID [2022-04-15 15:04:20,788 INFO L290 TraceCheckUtils]: 39: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-15 15:04:20,788 INFO L290 TraceCheckUtils]: 40: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-15 15:04:20,788 INFO L290 TraceCheckUtils]: 41: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-15 15:04:20,789 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5567#true} {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #104#return; {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 15:04:20,789 INFO L272 TraceCheckUtils]: 43: Hoare triple {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5567#true} is VALID [2022-04-15 15:04:20,789 INFO L290 TraceCheckUtils]: 44: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-15 15:04:20,789 INFO L290 TraceCheckUtils]: 45: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-15 15:04:20,789 INFO L290 TraceCheckUtils]: 46: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-15 15:04:20,789 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {5567#true} {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #106#return; {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 15:04:20,790 INFO L272 TraceCheckUtils]: 48: Hoare triple {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {5717#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:04:20,791 INFO L290 TraceCheckUtils]: 49: Hoare triple {5717#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5721#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:04:20,791 INFO L290 TraceCheckUtils]: 50: Hoare triple {5721#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5568#false} is VALID [2022-04-15 15:04:20,791 INFO L290 TraceCheckUtils]: 51: Hoare triple {5568#false} assume !false; {5568#false} is VALID [2022-04-15 15:04:20,791 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 15:04:20,791 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 15:04:20,791 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:04:20,792 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1715432592] [2022-04-15 15:04:20,792 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:04:20,792 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1345615982] [2022-04-15 15:04:20,792 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1345615982] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:20,792 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:20,792 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:04:20,792 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:04:20,792 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1596295843] [2022-04-15 15:04:20,792 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1596295843] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:20,792 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:20,792 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:04:20,792 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [649219313] [2022-04-15 15:04:20,792 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:04:20,793 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-15 15:04:20,793 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:04:20,793 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 15:04:20,817 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:04:20,817 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:04:20,817 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:20,817 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:04:20,817 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 15:04:20,817 INFO L87 Difference]: Start difference. First operand 106 states and 137 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 15:04:21,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:21,178 INFO L93 Difference]: Finished difference Result 158 states and 221 transitions. [2022-04-15 15:04:21,178 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:04:21,178 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-15 15:04:21,179 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:04:21,179 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 15:04:21,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 15:04:21,180 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), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 15:04:21,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 15:04:21,180 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 15:04:21,229 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:04:21,232 INFO L225 Difference]: With dead ends: 158 [2022-04-15 15:04:21,232 INFO L226 Difference]: Without dead ends: 156 [2022-04-15 15:04:21,232 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 48 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-15 15:04:21,232 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 9 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 156 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:04:21,233 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 156 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 15:04:21,233 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-15 15:04:21,511 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 140. [2022-04-15 15:04:21,511 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:04:21,512 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-15 15:04:21,518 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-15 15:04:21,519 INFO L87 Difference]: Start difference. First operand 156 states. Second operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-15 15:04:21,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:21,523 INFO L93 Difference]: Finished difference Result 156 states and 219 transitions. [2022-04-15 15:04:21,523 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 219 transitions. [2022-04-15 15:04:21,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:21,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:21,525 INFO L74 IsIncluded]: Start isIncluded. First operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) Second operand 156 states. [2022-04-15 15:04:21,526 INFO L87 Difference]: Start difference. First operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) Second operand 156 states. [2022-04-15 15:04:21,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:21,531 INFO L93 Difference]: Finished difference Result 156 states and 219 transitions. [2022-04-15 15:04:21,531 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 219 transitions. [2022-04-15 15:04:21,532 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:21,532 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:21,532 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:04:21,532 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:04:21,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-15 15:04:21,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 194 transitions. [2022-04-15 15:04:21,537 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 194 transitions. Word has length 52 [2022-04-15 15:04:21,537 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:04:21,537 INFO L478 AbstractCegarLoop]: Abstraction has 140 states and 194 transitions. [2022-04-15 15:04:21,538 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 15:04:21,538 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 140 states and 194 transitions. [2022-04-15 15:04:21,848 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 194 edges. 194 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:04:21,848 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 194 transitions. [2022-04-15 15:04:21,849 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-15 15:04:21,849 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:04:21,849 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:04:21,882 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-15 15:04:22,065 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:22,065 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:04:22,065 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:04:22,066 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 1 times [2022-04-15 15:04:22,066 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:22,066 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1743003602] [2022-04-15 15:04:22,066 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:04:22,066 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 2 times [2022-04-15 15:04:22,066 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:04:22,066 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2100226793] [2022-04-15 15:04:22,066 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:04:22,066 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:04:22,083 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:04:22,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1477324696] [2022-04-15 15:04:22,083 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:04:22,083 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:22,083 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:04:22,084 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-15 15:04:22,099 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-15 15:04:22,140 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:04:22,140 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:04:22,141 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-15 15:04:22,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:22,149 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:04:22,572 INFO L272 TraceCheckUtils]: 0: Hoare triple {6637#true} call ULTIMATE.init(); {6637#true} is VALID [2022-04-15 15:04:22,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {6637#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(11, 2);call #Ultimate.allocInit(12, 3); {6637#true} is VALID [2022-04-15 15:04:22,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 15:04:22,572 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6637#true} {6637#true} #112#return; {6637#true} is VALID [2022-04-15 15:04:22,572 INFO L272 TraceCheckUtils]: 4: Hoare triple {6637#true} call #t~ret6 := main(); {6637#true} is VALID [2022-04-15 15:04:22,572 INFO L290 TraceCheckUtils]: 5: Hoare triple {6637#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6637#true} is VALID [2022-04-15 15:04:22,573 INFO L272 TraceCheckUtils]: 6: Hoare triple {6637#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {6637#true} is VALID [2022-04-15 15:04:22,573 INFO L290 TraceCheckUtils]: 7: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 15:04:22,573 INFO L290 TraceCheckUtils]: 8: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 15:04:22,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 15:04:22,573 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6637#true} {6637#true} #94#return; {6637#true} is VALID [2022-04-15 15:04:22,573 INFO L290 TraceCheckUtils]: 11: Hoare triple {6637#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6637#true} is VALID [2022-04-15 15:04:22,573 INFO L272 TraceCheckUtils]: 12: Hoare triple {6637#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {6637#true} is VALID [2022-04-15 15:04:22,573 INFO L290 TraceCheckUtils]: 13: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 15:04:22,573 INFO L290 TraceCheckUtils]: 14: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 15:04:22,573 INFO L290 TraceCheckUtils]: 15: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 15:04:22,573 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6637#true} {6637#true} #96#return; {6637#true} is VALID [2022-04-15 15:04:22,573 INFO L272 TraceCheckUtils]: 17: Hoare triple {6637#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6637#true} is VALID [2022-04-15 15:04:22,574 INFO L290 TraceCheckUtils]: 18: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 15:04:22,574 INFO L290 TraceCheckUtils]: 19: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 15:04:22,574 INFO L290 TraceCheckUtils]: 20: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 15:04:22,574 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6637#true} {6637#true} #98#return; {6637#true} is VALID [2022-04-15 15:04:22,574 INFO L272 TraceCheckUtils]: 22: Hoare triple {6637#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6637#true} is VALID [2022-04-15 15:04:22,574 INFO L290 TraceCheckUtils]: 23: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 15:04:22,574 INFO L290 TraceCheckUtils]: 24: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 15:04:22,574 INFO L290 TraceCheckUtils]: 25: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 15:04:22,574 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6637#true} {6637#true} #100#return; {6637#true} is VALID [2022-04-15 15:04:22,575 INFO L290 TraceCheckUtils]: 27: Hoare triple {6637#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6723#(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-15 15:04:22,576 INFO L290 TraceCheckUtils]: 28: Hoare triple {6723#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {6723#(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-15 15:04:22,576 INFO L290 TraceCheckUtils]: 29: Hoare triple {6723#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6730#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:04:22,576 INFO L290 TraceCheckUtils]: 30: Hoare triple {6730#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {6730#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:04:22,577 INFO L290 TraceCheckUtils]: 31: Hoare triple {6730#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:04:22,577 INFO L290 TraceCheckUtils]: 32: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:04:22,577 INFO L272 TraceCheckUtils]: 33: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~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)); {6637#true} is VALID [2022-04-15 15:04:22,577 INFO L290 TraceCheckUtils]: 34: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 15:04:22,577 INFO L290 TraceCheckUtils]: 35: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 15:04:22,577 INFO L290 TraceCheckUtils]: 36: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 15:04:22,578 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6637#true} {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:04:22,578 INFO L272 TraceCheckUtils]: 38: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~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)); {6637#true} is VALID [2022-04-15 15:04:22,578 INFO L290 TraceCheckUtils]: 39: Hoare triple {6637#true} ~cond := #in~cond; {6762#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:04:22,578 INFO L290 TraceCheckUtils]: 40: Hoare triple {6762#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:04:22,579 INFO L290 TraceCheckUtils]: 41: Hoare triple {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:04:22,579 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:04:22,579 INFO L272 TraceCheckUtils]: 43: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6637#true} is VALID [2022-04-15 15:04:22,579 INFO L290 TraceCheckUtils]: 44: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 15:04:22,579 INFO L290 TraceCheckUtils]: 45: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 15:04:22,579 INFO L290 TraceCheckUtils]: 46: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 15:04:22,580 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6637#true} {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:04:22,580 INFO L272 TraceCheckUtils]: 48: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6637#true} is VALID [2022-04-15 15:04:22,580 INFO L290 TraceCheckUtils]: 49: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 15:04:22,580 INFO L290 TraceCheckUtils]: 50: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 15:04:22,580 INFO L290 TraceCheckUtils]: 51: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 15:04:22,581 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6637#true} {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:04:22,581 INFO L290 TraceCheckUtils]: 53: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:04:22,581 INFO L290 TraceCheckUtils]: 54: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:04:22,582 INFO L290 TraceCheckUtils]: 55: Hoare triple {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:04:22,582 INFO L290 TraceCheckUtils]: 56: Hoare triple {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:04:22,583 INFO L290 TraceCheckUtils]: 57: Hoare triple {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6819#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} is VALID [2022-04-15 15:04:22,583 INFO L290 TraceCheckUtils]: 58: Hoare triple {6819#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} assume !false; {6819#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} is VALID [2022-04-15 15:04:22,583 INFO L290 TraceCheckUtils]: 59: Hoare triple {6819#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {6826#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 1) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) 0))} is VALID [2022-04-15 15:04:22,584 INFO L272 TraceCheckUtils]: 60: Hoare triple {6826#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 1) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) 0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {6830#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:04:22,584 INFO L290 TraceCheckUtils]: 61: Hoare triple {6830#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6834#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:04:22,584 INFO L290 TraceCheckUtils]: 62: Hoare triple {6834#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6638#false} is VALID [2022-04-15 15:04:22,584 INFO L290 TraceCheckUtils]: 63: Hoare triple {6638#false} assume !false; {6638#false} is VALID [2022-04-15 15:04:22,585 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-15 15:04:22,585 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:04:36,207 INFO L290 TraceCheckUtils]: 63: Hoare triple {6638#false} assume !false; {6638#false} is VALID [2022-04-15 15:04:36,208 INFO L290 TraceCheckUtils]: 62: Hoare triple {6834#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6638#false} is VALID [2022-04-15 15:04:36,208 INFO L290 TraceCheckUtils]: 61: Hoare triple {6830#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6834#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:04:36,209 INFO L272 TraceCheckUtils]: 60: Hoare triple {6850#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {6830#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:04:36,209 INFO L290 TraceCheckUtils]: 59: Hoare triple {6854#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {6850#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:04:36,210 INFO L290 TraceCheckUtils]: 58: Hoare triple {6854#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {6854#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-15 15:04:36,281 INFO L290 TraceCheckUtils]: 57: Hoare triple {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6854#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-15 15:04:36,282 INFO L290 TraceCheckUtils]: 56: Hoare triple {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:04:36,282 INFO L290 TraceCheckUtils]: 55: Hoare triple {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:04:36,328 INFO L290 TraceCheckUtils]: 54: Hoare triple {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:04:36,329 INFO L290 TraceCheckUtils]: 53: Hoare triple {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:04:36,330 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6637#true} {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:04:36,330 INFO L290 TraceCheckUtils]: 51: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 15:04:36,330 INFO L290 TraceCheckUtils]: 50: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 15:04:36,330 INFO L290 TraceCheckUtils]: 49: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 15:04:36,330 INFO L272 TraceCheckUtils]: 48: Hoare triple {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6637#true} is VALID [2022-04-15 15:04:36,331 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6637#true} {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:04:36,331 INFO L290 TraceCheckUtils]: 46: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 15:04:36,331 INFO L290 TraceCheckUtils]: 45: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 15:04:36,331 INFO L290 TraceCheckUtils]: 44: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 15:04:36,331 INFO L272 TraceCheckUtils]: 43: Hoare triple {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6637#true} is VALID [2022-04-15 15:04:36,332 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:04:36,333 INFO L290 TraceCheckUtils]: 41: Hoare triple {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:04:36,333 INFO L290 TraceCheckUtils]: 40: Hoare triple {6918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:04:36,333 INFO L290 TraceCheckUtils]: 39: Hoare triple {6637#true} ~cond := #in~cond; {6918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:04:36,333 INFO L272 TraceCheckUtils]: 38: Hoare triple {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {6637#true} is VALID [2022-04-15 15:04:36,334 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6637#true} {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:04:36,334 INFO L290 TraceCheckUtils]: 36: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 15:04:36,334 INFO L290 TraceCheckUtils]: 35: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 15:04:36,334 INFO L290 TraceCheckUtils]: 34: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 15:04:36,335 INFO L272 TraceCheckUtils]: 33: Hoare triple {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {6637#true} is VALID [2022-04-15 15:04:36,335 INFO L290 TraceCheckUtils]: 32: Hoare triple {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:04:36,336 INFO L290 TraceCheckUtils]: 31: Hoare triple {6943#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:04:36,337 INFO L290 TraceCheckUtils]: 30: Hoare triple {6943#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} assume !false; {6943#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-15 15:04:36,337 INFO L290 TraceCheckUtils]: 29: Hoare triple {6950#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 main_~a~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6943#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-15 15:04:36,338 INFO L290 TraceCheckUtils]: 28: Hoare triple {6950#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 main_~a~0)))} assume !false; {6950#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-15 15:04:36,338 INFO L290 TraceCheckUtils]: 27: Hoare triple {6637#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6950#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-15 15:04:36,338 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6637#true} {6637#true} #100#return; {6637#true} is VALID [2022-04-15 15:04:36,338 INFO L290 TraceCheckUtils]: 25: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 15:04:36,338 INFO L290 TraceCheckUtils]: 24: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 15:04:36,339 INFO L290 TraceCheckUtils]: 23: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 15:04:36,339 INFO L272 TraceCheckUtils]: 22: Hoare triple {6637#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6637#true} is VALID [2022-04-15 15:04:36,339 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6637#true} {6637#true} #98#return; {6637#true} is VALID [2022-04-15 15:04:36,339 INFO L290 TraceCheckUtils]: 20: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 15:04:36,339 INFO L290 TraceCheckUtils]: 19: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 15:04:36,339 INFO L290 TraceCheckUtils]: 18: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 15:04:36,339 INFO L272 TraceCheckUtils]: 17: Hoare triple {6637#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6637#true} is VALID [2022-04-15 15:04:36,339 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6637#true} {6637#true} #96#return; {6637#true} is VALID [2022-04-15 15:04:36,339 INFO L290 TraceCheckUtils]: 15: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 15:04:36,339 INFO L290 TraceCheckUtils]: 14: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 15:04:36,339 INFO L290 TraceCheckUtils]: 13: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 15:04:36,339 INFO L272 TraceCheckUtils]: 12: Hoare triple {6637#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {6637#true} is VALID [2022-04-15 15:04:36,340 INFO L290 TraceCheckUtils]: 11: Hoare triple {6637#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6637#true} is VALID [2022-04-15 15:04:36,340 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6637#true} {6637#true} #94#return; {6637#true} is VALID [2022-04-15 15:04:36,340 INFO L290 TraceCheckUtils]: 9: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 15:04:36,340 INFO L290 TraceCheckUtils]: 8: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-15 15:04:36,340 INFO L290 TraceCheckUtils]: 7: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-15 15:04:36,340 INFO L272 TraceCheckUtils]: 6: Hoare triple {6637#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {6637#true} is VALID [2022-04-15 15:04:36,340 INFO L290 TraceCheckUtils]: 5: Hoare triple {6637#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6637#true} is VALID [2022-04-15 15:04:36,340 INFO L272 TraceCheckUtils]: 4: Hoare triple {6637#true} call #t~ret6 := main(); {6637#true} is VALID [2022-04-15 15:04:36,340 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6637#true} {6637#true} #112#return; {6637#true} is VALID [2022-04-15 15:04:36,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-15 15:04:36,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {6637#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(11, 2);call #Ultimate.allocInit(12, 3); {6637#true} is VALID [2022-04-15 15:04:36,340 INFO L272 TraceCheckUtils]: 0: Hoare triple {6637#true} call ULTIMATE.init(); {6637#true} is VALID [2022-04-15 15:04:36,341 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-15 15:04:36,341 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:04:36,341 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2100226793] [2022-04-15 15:04:36,341 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:04:36,341 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1477324696] [2022-04-15 15:04:36,341 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1477324696] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:04:36,341 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:04:36,341 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 20 [2022-04-15 15:04:36,342 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:04:36,342 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1743003602] [2022-04-15 15:04:36,342 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1743003602] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:36,342 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:36,342 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 15:04:36,342 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [330889250] [2022-04-15 15:04:36,342 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:04:36,342 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 64 [2022-04-15 15:04:36,342 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:04:36,343 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:36,382 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:04:36,382 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 15:04:36,382 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:36,382 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 15:04:36,383 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=321, Unknown=0, NotChecked=0, Total=380 [2022-04-15 15:04:36,383 INFO L87 Difference]: Start difference. First operand 140 states and 194 transitions. Second operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:38,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:38,401 INFO L93 Difference]: Finished difference Result 200 states and 283 transitions. [2022-04-15 15:04:38,401 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 15:04:38,401 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 64 [2022-04-15 15:04:38,401 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:04:38,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:38,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-15 15:04:38,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:38,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-15 15:04:38,411 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 131 transitions. [2022-04-15 15:04:38,551 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:04:38,554 INFO L225 Difference]: With dead ends: 200 [2022-04-15 15:04:38,554 INFO L226 Difference]: Without dead ends: 197 [2022-04-15 15:04:38,555 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 108 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=107, Invalid=543, Unknown=0, NotChecked=0, Total=650 [2022-04-15 15:04:38,555 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 54 mSDsluCounter, 230 mSDsCounter, 0 mSdLazyCounter, 559 mSolverCounterSat, 58 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 62 SdHoareTripleChecker+Valid, 275 SdHoareTripleChecker+Invalid, 617 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 58 IncrementalHoareTripleChecker+Valid, 559 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 15:04:38,555 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [62 Valid, 275 Invalid, 617 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [58 Valid, 559 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 15:04:38,556 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-15 15:04:39,003 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 193. [2022-04-15 15:04:39,003 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:04:39,003 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:04:39,004 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:04:39,004 INFO L87 Difference]: Start difference. First operand 197 states. Second operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:04:39,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:39,009 INFO L93 Difference]: Finished difference Result 197 states and 279 transitions. [2022-04-15 15:04:39,009 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 279 transitions. [2022-04-15 15:04:39,010 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:39,010 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:39,010 INFO L74 IsIncluded]: Start isIncluded. First operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) Second operand 197 states. [2022-04-15 15:04:39,010 INFO L87 Difference]: Start difference. First operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) Second operand 197 states. [2022-04-15 15:04:39,025 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:39,025 INFO L93 Difference]: Finished difference Result 197 states and 279 transitions. [2022-04-15 15:04:39,025 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 279 transitions. [2022-04-15 15:04:39,026 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:39,026 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:39,026 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:04:39,026 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:04:39,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:04:39,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 275 transitions. [2022-04-15 15:04:39,031 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 275 transitions. Word has length 64 [2022-04-15 15:04:39,031 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:04:39,031 INFO L478 AbstractCegarLoop]: Abstraction has 193 states and 275 transitions. [2022-04-15 15:04:39,032 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:39,032 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 193 states and 275 transitions. [2022-04-15 15:04:39,361 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 275 edges. 275 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:04:39,362 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 275 transitions. [2022-04-15 15:04:39,362 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-15 15:04:39,362 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:04:39,362 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:04:39,379 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-15 15:04:39,575 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 15:04:39,575 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:04:39,575 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:04:39,576 INFO L85 PathProgramCache]: Analyzing trace with hash -368004398, now seen corresponding path program 3 times [2022-04-15 15:04:39,576 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:39,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [95046990] [2022-04-15 15:04:39,576 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:04:39,576 INFO L85 PathProgramCache]: Analyzing trace with hash -368004398, now seen corresponding path program 4 times [2022-04-15 15:04:39,576 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:04:39,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1845718839] [2022-04-15 15:04:39,576 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:04:39,576 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:04:39,592 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:04:39,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1368628125] [2022-04-15 15:04:39,592 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:04:39,592 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:39,592 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:04:39,599 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-15 15:04:39,600 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-15 15:04:39,643 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:04:39,644 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:04:39,644 INFO L263 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 15:04:39,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:39,652 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:04:39,802 INFO L272 TraceCheckUtils]: 0: Hoare triple {8232#true} call ULTIMATE.init(); {8232#true} is VALID [2022-04-15 15:04:39,802 INFO L290 TraceCheckUtils]: 1: Hoare triple {8232#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(11, 2);call #Ultimate.allocInit(12, 3); {8232#true} is VALID [2022-04-15 15:04:39,802 INFO L290 TraceCheckUtils]: 2: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,802 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8232#true} {8232#true} #112#return; {8232#true} is VALID [2022-04-15 15:04:39,802 INFO L272 TraceCheckUtils]: 4: Hoare triple {8232#true} call #t~ret6 := main(); {8232#true} is VALID [2022-04-15 15:04:39,802 INFO L290 TraceCheckUtils]: 5: Hoare triple {8232#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8232#true} is VALID [2022-04-15 15:04:39,802 INFO L272 TraceCheckUtils]: 6: Hoare triple {8232#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {8232#true} is VALID [2022-04-15 15:04:39,802 INFO L290 TraceCheckUtils]: 7: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 15:04:39,803 INFO L290 TraceCheckUtils]: 8: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 15:04:39,803 INFO L290 TraceCheckUtils]: 9: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,803 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8232#true} {8232#true} #94#return; {8232#true} is VALID [2022-04-15 15:04:39,803 INFO L290 TraceCheckUtils]: 11: Hoare triple {8232#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8232#true} is VALID [2022-04-15 15:04:39,803 INFO L272 TraceCheckUtils]: 12: Hoare triple {8232#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {8232#true} is VALID [2022-04-15 15:04:39,803 INFO L290 TraceCheckUtils]: 13: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 15:04:39,803 INFO L290 TraceCheckUtils]: 14: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 15:04:39,803 INFO L290 TraceCheckUtils]: 15: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,803 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8232#true} {8232#true} #96#return; {8232#true} is VALID [2022-04-15 15:04:39,803 INFO L272 TraceCheckUtils]: 17: Hoare triple {8232#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8232#true} is VALID [2022-04-15 15:04:39,803 INFO L290 TraceCheckUtils]: 18: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 15:04:39,803 INFO L290 TraceCheckUtils]: 19: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 15:04:39,803 INFO L290 TraceCheckUtils]: 20: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,803 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8232#true} {8232#true} #98#return; {8232#true} is VALID [2022-04-15 15:04:39,804 INFO L272 TraceCheckUtils]: 22: Hoare triple {8232#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8232#true} is VALID [2022-04-15 15:04:39,804 INFO L290 TraceCheckUtils]: 23: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 15:04:39,804 INFO L290 TraceCheckUtils]: 24: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 15:04:39,804 INFO L290 TraceCheckUtils]: 25: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,804 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8232#true} {8232#true} #100#return; {8232#true} is VALID [2022-04-15 15:04:39,804 INFO L290 TraceCheckUtils]: 27: Hoare triple {8232#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8232#true} is VALID [2022-04-15 15:04:39,804 INFO L290 TraceCheckUtils]: 28: Hoare triple {8232#true} assume !false; {8232#true} is VALID [2022-04-15 15:04:39,804 INFO L290 TraceCheckUtils]: 29: Hoare triple {8232#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8232#true} is VALID [2022-04-15 15:04:39,804 INFO L290 TraceCheckUtils]: 30: Hoare triple {8232#true} assume !false; {8232#true} is VALID [2022-04-15 15:04:39,804 INFO L290 TraceCheckUtils]: 31: Hoare triple {8232#true} assume !(~c~0 >= ~b~0); {8330#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-15 15:04:39,805 INFO L290 TraceCheckUtils]: 32: Hoare triple {8330#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8334#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 15:04:39,805 INFO L290 TraceCheckUtils]: 33: Hoare triple {8334#(< main_~b~0 main_~a~0)} assume !false; {8334#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 15:04:39,805 INFO L290 TraceCheckUtils]: 34: Hoare triple {8334#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8341#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 15:04:39,805 INFO L290 TraceCheckUtils]: 35: Hoare triple {8341#(< main_~b~0 main_~c~0)} assume !false; {8341#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 15:04:39,806 INFO L290 TraceCheckUtils]: 36: Hoare triple {8341#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:04:39,806 INFO L290 TraceCheckUtils]: 37: Hoare triple {8348#(< main_~v~0 main_~c~0)} assume !false; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:04:39,806 INFO L272 TraceCheckUtils]: 38: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8232#true} is VALID [2022-04-15 15:04:39,806 INFO L290 TraceCheckUtils]: 39: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 15:04:39,806 INFO L290 TraceCheckUtils]: 40: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 15:04:39,806 INFO L290 TraceCheckUtils]: 41: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,806 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #102#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:04:39,807 INFO L272 TraceCheckUtils]: 43: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8232#true} is VALID [2022-04-15 15:04:39,807 INFO L290 TraceCheckUtils]: 44: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 15:04:39,807 INFO L290 TraceCheckUtils]: 45: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 15:04:39,807 INFO L290 TraceCheckUtils]: 46: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,807 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #104#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:04:39,807 INFO L272 TraceCheckUtils]: 48: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8232#true} is VALID [2022-04-15 15:04:39,807 INFO L290 TraceCheckUtils]: 49: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 15:04:39,807 INFO L290 TraceCheckUtils]: 50: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 15:04:39,807 INFO L290 TraceCheckUtils]: 51: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,808 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #106#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:04:39,808 INFO L272 TraceCheckUtils]: 53: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {8232#true} is VALID [2022-04-15 15:04:39,808 INFO L290 TraceCheckUtils]: 54: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 15:04:39,808 INFO L290 TraceCheckUtils]: 55: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 15:04:39,808 INFO L290 TraceCheckUtils]: 56: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,808 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #108#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:04:39,809 INFO L290 TraceCheckUtils]: 58: Hoare triple {8348#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:04:39,809 INFO L290 TraceCheckUtils]: 59: Hoare triple {8348#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8418#(< 0 main_~c~0)} is VALID [2022-04-15 15:04:39,810 INFO L290 TraceCheckUtils]: 60: Hoare triple {8418#(< 0 main_~c~0)} assume !false; {8418#(< 0 main_~c~0)} is VALID [2022-04-15 15:04:39,810 INFO L290 TraceCheckUtils]: 61: Hoare triple {8418#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {8418#(< 0 main_~c~0)} is VALID [2022-04-15 15:04:39,810 INFO L290 TraceCheckUtils]: 62: Hoare triple {8418#(< 0 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8428#(< 0 main_~b~0)} is VALID [2022-04-15 15:04:39,810 INFO L290 TraceCheckUtils]: 63: Hoare triple {8428#(< 0 main_~b~0)} assume !false; {8428#(< 0 main_~b~0)} is VALID [2022-04-15 15:04:39,811 INFO L290 TraceCheckUtils]: 64: Hoare triple {8428#(< 0 main_~b~0)} assume !(0 != ~b~0); {8233#false} is VALID [2022-04-15 15:04:39,811 INFO L272 TraceCheckUtils]: 65: Hoare triple {8233#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {8233#false} is VALID [2022-04-15 15:04:39,811 INFO L290 TraceCheckUtils]: 66: Hoare triple {8233#false} ~cond := #in~cond; {8233#false} is VALID [2022-04-15 15:04:39,811 INFO L290 TraceCheckUtils]: 67: Hoare triple {8233#false} assume 0 == ~cond; {8233#false} is VALID [2022-04-15 15:04:39,811 INFO L290 TraceCheckUtils]: 68: Hoare triple {8233#false} assume !false; {8233#false} is VALID [2022-04-15 15:04:39,811 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 16 proven. 5 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-15 15:04:39,811 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:04:39,939 INFO L290 TraceCheckUtils]: 68: Hoare triple {8233#false} assume !false; {8233#false} is VALID [2022-04-15 15:04:39,939 INFO L290 TraceCheckUtils]: 67: Hoare triple {8233#false} assume 0 == ~cond; {8233#false} is VALID [2022-04-15 15:04:39,939 INFO L290 TraceCheckUtils]: 66: Hoare triple {8233#false} ~cond := #in~cond; {8233#false} is VALID [2022-04-15 15:04:39,939 INFO L272 TraceCheckUtils]: 65: Hoare triple {8233#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {8233#false} is VALID [2022-04-15 15:04:39,939 INFO L290 TraceCheckUtils]: 64: Hoare triple {8428#(< 0 main_~b~0)} assume !(0 != ~b~0); {8233#false} is VALID [2022-04-15 15:04:39,940 INFO L290 TraceCheckUtils]: 63: Hoare triple {8428#(< 0 main_~b~0)} assume !false; {8428#(< 0 main_~b~0)} is VALID [2022-04-15 15:04:39,940 INFO L290 TraceCheckUtils]: 62: Hoare triple {8418#(< 0 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8428#(< 0 main_~b~0)} is VALID [2022-04-15 15:04:39,940 INFO L290 TraceCheckUtils]: 61: Hoare triple {8418#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {8418#(< 0 main_~c~0)} is VALID [2022-04-15 15:04:39,940 INFO L290 TraceCheckUtils]: 60: Hoare triple {8418#(< 0 main_~c~0)} assume !false; {8418#(< 0 main_~c~0)} is VALID [2022-04-15 15:04:39,941 INFO L290 TraceCheckUtils]: 59: Hoare triple {8348#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8418#(< 0 main_~c~0)} is VALID [2022-04-15 15:04:39,941 INFO L290 TraceCheckUtils]: 58: Hoare triple {8348#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:04:39,941 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #108#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:04:39,941 INFO L290 TraceCheckUtils]: 56: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,941 INFO L290 TraceCheckUtils]: 55: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 15:04:39,941 INFO L290 TraceCheckUtils]: 54: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 15:04:39,942 INFO L272 TraceCheckUtils]: 53: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {8232#true} is VALID [2022-04-15 15:04:39,942 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #106#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:04:39,942 INFO L290 TraceCheckUtils]: 51: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,942 INFO L290 TraceCheckUtils]: 50: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 15:04:39,942 INFO L290 TraceCheckUtils]: 49: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 15:04:39,942 INFO L272 TraceCheckUtils]: 48: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8232#true} is VALID [2022-04-15 15:04:39,942 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #104#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:04:39,943 INFO L290 TraceCheckUtils]: 46: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,943 INFO L290 TraceCheckUtils]: 45: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 15:04:39,943 INFO L290 TraceCheckUtils]: 44: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 15:04:39,943 INFO L272 TraceCheckUtils]: 43: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8232#true} is VALID [2022-04-15 15:04:39,943 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #102#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:04:39,943 INFO L290 TraceCheckUtils]: 41: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,943 INFO L290 TraceCheckUtils]: 40: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 15:04:39,943 INFO L290 TraceCheckUtils]: 39: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 15:04:39,943 INFO L272 TraceCheckUtils]: 38: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8232#true} is VALID [2022-04-15 15:04:39,963 INFO L290 TraceCheckUtils]: 37: Hoare triple {8348#(< main_~v~0 main_~c~0)} assume !false; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:04:39,964 INFO L290 TraceCheckUtils]: 36: Hoare triple {8341#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-15 15:04:39,964 INFO L290 TraceCheckUtils]: 35: Hoare triple {8341#(< main_~b~0 main_~c~0)} assume !false; {8341#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 15:04:39,964 INFO L290 TraceCheckUtils]: 34: Hoare triple {8334#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8341#(< main_~b~0 main_~c~0)} is VALID [2022-04-15 15:04:39,964 INFO L290 TraceCheckUtils]: 33: Hoare triple {8334#(< main_~b~0 main_~a~0)} assume !false; {8334#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 15:04:39,965 INFO L290 TraceCheckUtils]: 32: Hoare triple {8330#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8334#(< main_~b~0 main_~a~0)} is VALID [2022-04-15 15:04:39,965 INFO L290 TraceCheckUtils]: 31: Hoare triple {8232#true} assume !(~c~0 >= ~b~0); {8330#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-15 15:04:39,965 INFO L290 TraceCheckUtils]: 30: Hoare triple {8232#true} assume !false; {8232#true} is VALID [2022-04-15 15:04:39,965 INFO L290 TraceCheckUtils]: 29: Hoare triple {8232#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8232#true} is VALID [2022-04-15 15:04:39,965 INFO L290 TraceCheckUtils]: 28: Hoare triple {8232#true} assume !false; {8232#true} is VALID [2022-04-15 15:04:39,965 INFO L290 TraceCheckUtils]: 27: Hoare triple {8232#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8232#true} is VALID [2022-04-15 15:04:39,965 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8232#true} {8232#true} #100#return; {8232#true} is VALID [2022-04-15 15:04:39,965 INFO L290 TraceCheckUtils]: 25: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,965 INFO L290 TraceCheckUtils]: 24: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 15:04:39,966 INFO L290 TraceCheckUtils]: 23: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 15:04:39,966 INFO L272 TraceCheckUtils]: 22: Hoare triple {8232#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8232#true} is VALID [2022-04-15 15:04:39,966 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8232#true} {8232#true} #98#return; {8232#true} is VALID [2022-04-15 15:04:39,966 INFO L290 TraceCheckUtils]: 20: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,966 INFO L290 TraceCheckUtils]: 19: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 15:04:39,966 INFO L290 TraceCheckUtils]: 18: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 15:04:39,966 INFO L272 TraceCheckUtils]: 17: Hoare triple {8232#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8232#true} is VALID [2022-04-15 15:04:39,966 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8232#true} {8232#true} #96#return; {8232#true} is VALID [2022-04-15 15:04:39,966 INFO L290 TraceCheckUtils]: 15: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,966 INFO L290 TraceCheckUtils]: 14: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 15:04:39,966 INFO L290 TraceCheckUtils]: 13: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 15:04:39,966 INFO L272 TraceCheckUtils]: 12: Hoare triple {8232#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {8232#true} is VALID [2022-04-15 15:04:39,966 INFO L290 TraceCheckUtils]: 11: Hoare triple {8232#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8232#true} is VALID [2022-04-15 15:04:39,967 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8232#true} {8232#true} #94#return; {8232#true} is VALID [2022-04-15 15:04:39,967 INFO L290 TraceCheckUtils]: 9: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,967 INFO L290 TraceCheckUtils]: 8: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-15 15:04:39,967 INFO L290 TraceCheckUtils]: 7: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-15 15:04:39,967 INFO L272 TraceCheckUtils]: 6: Hoare triple {8232#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {8232#true} is VALID [2022-04-15 15:04:39,967 INFO L290 TraceCheckUtils]: 5: Hoare triple {8232#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8232#true} is VALID [2022-04-15 15:04:39,967 INFO L272 TraceCheckUtils]: 4: Hoare triple {8232#true} call #t~ret6 := main(); {8232#true} is VALID [2022-04-15 15:04:39,967 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8232#true} {8232#true} #112#return; {8232#true} is VALID [2022-04-15 15:04:39,967 INFO L290 TraceCheckUtils]: 2: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-15 15:04:39,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {8232#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(11, 2);call #Ultimate.allocInit(12, 3); {8232#true} is VALID [2022-04-15 15:04:39,967 INFO L272 TraceCheckUtils]: 0: Hoare triple {8232#true} call ULTIMATE.init(); {8232#true} is VALID [2022-04-15 15:04:39,967 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 16 proven. 5 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-15 15:04:39,968 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:04:39,968 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1845718839] [2022-04-15 15:04:39,968 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:04:39,968 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1368628125] [2022-04-15 15:04:39,968 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1368628125] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:04:39,968 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:04:39,968 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-15 15:04:39,968 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:04:39,968 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [95046990] [2022-04-15 15:04:39,968 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [95046990] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:39,968 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:39,968 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 15:04:39,969 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1485344640] [2022-04-15 15:04:39,969 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:04:39,969 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 69 [2022-04-15 15:04:39,969 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:04:39,969 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:39,989 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-15 15:04:39,990 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 15:04:39,990 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:39,990 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 15:04:39,990 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-04-15 15:04:39,990 INFO L87 Difference]: Start difference. First operand 193 states and 275 transitions. Second operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:41,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:41,571 INFO L93 Difference]: Finished difference Result 288 states and 424 transitions. [2022-04-15 15:04:41,572 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 15:04:41,572 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 69 [2022-04-15 15:04:41,572 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:04:41,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:41,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-15 15:04:41,576 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:41,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-15 15:04:41,577 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 158 transitions. [2022-04-15 15:04:41,701 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-15 15:04:41,706 INFO L225 Difference]: With dead ends: 288 [2022-04-15 15:04:41,706 INFO L226 Difference]: Without dead ends: 281 [2022-04-15 15:04:41,707 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 134 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=93, Invalid=249, Unknown=0, NotChecked=0, Total=342 [2022-04-15 15:04:41,707 INFO L913 BasicCegarLoop]: 87 mSDtfsCounter, 46 mSDsluCounter, 231 mSDsCounter, 0 mSdLazyCounter, 280 mSolverCounterSat, 83 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 318 SdHoareTripleChecker+Invalid, 363 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 83 IncrementalHoareTripleChecker+Valid, 280 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 15:04:41,710 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 318 Invalid, 363 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [83 Valid, 280 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 15:04:41,711 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 281 states. [2022-04-15 15:04:42,260 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 281 to 208. [2022-04-15 15:04:42,260 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:04:42,261 INFO L82 GeneralOperation]: Start isEquivalent. First operand 281 states. Second operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:04:42,261 INFO L74 IsIncluded]: Start isIncluded. First operand 281 states. Second operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:04:42,262 INFO L87 Difference]: Start difference. First operand 281 states. Second operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:04:42,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:42,269 INFO L93 Difference]: Finished difference Result 281 states and 417 transitions. [2022-04-15 15:04:42,269 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 417 transitions. [2022-04-15 15:04:42,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:42,271 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:42,271 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 281 states. [2022-04-15 15:04:42,271 INFO L87 Difference]: Start difference. First operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 281 states. [2022-04-15 15:04:42,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:42,279 INFO L93 Difference]: Finished difference Result 281 states and 417 transitions. [2022-04-15 15:04:42,279 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 417 transitions. [2022-04-15 15:04:42,280 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:42,280 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:42,280 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:04:42,280 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:04:42,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:04:42,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 296 transitions. [2022-04-15 15:04:42,286 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 296 transitions. Word has length 69 [2022-04-15 15:04:42,286 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:04:42,286 INFO L478 AbstractCegarLoop]: Abstraction has 208 states and 296 transitions. [2022-04-15 15:04:42,286 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:42,286 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 296 transitions. [2022-04-15 15:04:42,681 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 296 edges. 296 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:04:42,681 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 296 transitions. [2022-04-15 15:04:42,682 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-15 15:04:42,682 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:04:42,682 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 4, 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, 1, 1, 1, 1, 1, 1] [2022-04-15 15:04:42,698 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-15 15:04:42,899 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 15:04:42,899 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:04:42,899 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:04:42,899 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 1 times [2022-04-15 15:04:42,899 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:42,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [651411069] [2022-04-15 15:04:42,900 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:04:42,900 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 2 times [2022-04-15 15:04:42,900 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:04:42,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [713542745] [2022-04-15 15:04:42,900 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:04:42,900 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:04:42,916 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:04:42,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [769733339] [2022-04-15 15:04:42,916 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:04:42,917 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:42,917 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:04:42,917 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-15 15:04:42,925 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-15 15:04:42,964 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:04:42,964 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:04:42,965 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 15:04:42,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:42,972 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:04:43,110 INFO L272 TraceCheckUtils]: 0: Hoare triple {10234#true} call ULTIMATE.init(); {10234#true} is VALID [2022-04-15 15:04:43,111 INFO L290 TraceCheckUtils]: 1: Hoare triple {10234#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(11, 2);call #Ultimate.allocInit(12, 3); {10234#true} is VALID [2022-04-15 15:04:43,111 INFO L290 TraceCheckUtils]: 2: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,111 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10234#true} {10234#true} #112#return; {10234#true} is VALID [2022-04-15 15:04:43,111 INFO L272 TraceCheckUtils]: 4: Hoare triple {10234#true} call #t~ret6 := main(); {10234#true} is VALID [2022-04-15 15:04:43,111 INFO L290 TraceCheckUtils]: 5: Hoare triple {10234#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10234#true} is VALID [2022-04-15 15:04:43,111 INFO L272 TraceCheckUtils]: 6: Hoare triple {10234#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,111 INFO L290 TraceCheckUtils]: 7: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,111 INFO L290 TraceCheckUtils]: 8: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,111 INFO L290 TraceCheckUtils]: 9: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,111 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10234#true} {10234#true} #94#return; {10234#true} is VALID [2022-04-15 15:04:43,111 INFO L290 TraceCheckUtils]: 11: Hoare triple {10234#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10234#true} is VALID [2022-04-15 15:04:43,111 INFO L272 TraceCheckUtils]: 12: Hoare triple {10234#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,112 INFO L290 TraceCheckUtils]: 13: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,112 INFO L290 TraceCheckUtils]: 14: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,112 INFO L290 TraceCheckUtils]: 15: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,112 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10234#true} {10234#true} #96#return; {10234#true} is VALID [2022-04-15 15:04:43,112 INFO L272 TraceCheckUtils]: 17: Hoare triple {10234#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,112 INFO L290 TraceCheckUtils]: 18: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,112 INFO L290 TraceCheckUtils]: 19: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,112 INFO L290 TraceCheckUtils]: 20: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,112 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10234#true} {10234#true} #98#return; {10234#true} is VALID [2022-04-15 15:04:43,112 INFO L272 TraceCheckUtils]: 22: Hoare triple {10234#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,112 INFO L290 TraceCheckUtils]: 23: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,112 INFO L290 TraceCheckUtils]: 24: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,112 INFO L290 TraceCheckUtils]: 25: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,112 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10234#true} {10234#true} #100#return; {10234#true} is VALID [2022-04-15 15:04:43,113 INFO L290 TraceCheckUtils]: 27: Hoare triple {10234#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10234#true} is VALID [2022-04-15 15:04:43,113 INFO L290 TraceCheckUtils]: 28: Hoare triple {10234#true} assume !false; {10234#true} is VALID [2022-04-15 15:04:43,113 INFO L290 TraceCheckUtils]: 29: Hoare triple {10234#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10234#true} is VALID [2022-04-15 15:04:43,113 INFO L290 TraceCheckUtils]: 30: Hoare triple {10234#true} assume !false; {10234#true} is VALID [2022-04-15 15:04:43,113 INFO L290 TraceCheckUtils]: 31: Hoare triple {10234#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 15:04:43,139 INFO L290 TraceCheckUtils]: 32: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !false; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 15:04:43,139 INFO L272 TraceCheckUtils]: 33: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,139 INFO L290 TraceCheckUtils]: 34: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,139 INFO L290 TraceCheckUtils]: 35: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,139 INFO L290 TraceCheckUtils]: 36: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,140 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10234#true} {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #102#return; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 15:04:43,140 INFO L272 TraceCheckUtils]: 38: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,140 INFO L290 TraceCheckUtils]: 39: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,140 INFO L290 TraceCheckUtils]: 40: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,140 INFO L290 TraceCheckUtils]: 41: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,141 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10234#true} {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #104#return; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 15:04:43,141 INFO L272 TraceCheckUtils]: 43: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,141 INFO L290 TraceCheckUtils]: 44: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,141 INFO L290 TraceCheckUtils]: 45: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,141 INFO L290 TraceCheckUtils]: 46: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,141 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10234#true} {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #106#return; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 15:04:43,142 INFO L272 TraceCheckUtils]: 48: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,142 INFO L290 TraceCheckUtils]: 49: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,142 INFO L290 TraceCheckUtils]: 50: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,142 INFO L290 TraceCheckUtils]: 51: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,142 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10234#true} {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #108#return; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-15 15:04:43,143 INFO L290 TraceCheckUtils]: 53: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-15 15:04:43,143 INFO L290 TraceCheckUtils]: 54: Hoare triple {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} assume !false; {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-15 15:04:43,143 INFO L272 TraceCheckUtils]: 55: Hoare triple {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,143 INFO L290 TraceCheckUtils]: 56: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,144 INFO L290 TraceCheckUtils]: 57: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,144 INFO L290 TraceCheckUtils]: 58: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,144 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10234#true} {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} #102#return; {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-15 15:04:43,144 INFO L272 TraceCheckUtils]: 60: Hoare triple {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,144 INFO L290 TraceCheckUtils]: 61: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,144 INFO L290 TraceCheckUtils]: 62: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,144 INFO L290 TraceCheckUtils]: 63: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,145 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10234#true} {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} #104#return; {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-15 15:04:43,145 INFO L272 TraceCheckUtils]: 65: Hoare triple {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,145 INFO L290 TraceCheckUtils]: 66: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,145 INFO L290 TraceCheckUtils]: 67: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,145 INFO L290 TraceCheckUtils]: 68: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,146 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10234#true} {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} #106#return; {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-15 15:04:43,146 INFO L272 TraceCheckUtils]: 70: Hoare triple {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10451#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:04:43,146 INFO L290 TraceCheckUtils]: 71: Hoare triple {10451#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10455#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:04:43,147 INFO L290 TraceCheckUtils]: 72: Hoare triple {10455#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10235#false} is VALID [2022-04-15 15:04:43,147 INFO L290 TraceCheckUtils]: 73: Hoare triple {10235#false} assume !false; {10235#false} is VALID [2022-04-15 15:04:43,147 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 14 proven. 5 refuted. 0 times theorem prover too weak. 108 trivial. 0 not checked. [2022-04-15 15:04:43,147 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:04:43,331 INFO L290 TraceCheckUtils]: 73: Hoare triple {10235#false} assume !false; {10235#false} is VALID [2022-04-15 15:04:43,331 INFO L290 TraceCheckUtils]: 72: Hoare triple {10455#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10235#false} is VALID [2022-04-15 15:04:43,332 INFO L290 TraceCheckUtils]: 71: Hoare triple {10451#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10455#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:04:43,332 INFO L272 TraceCheckUtils]: 70: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10451#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:04:43,332 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:04:43,333 INFO L290 TraceCheckUtils]: 68: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,333 INFO L290 TraceCheckUtils]: 67: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,333 INFO L290 TraceCheckUtils]: 66: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,333 INFO L272 TraceCheckUtils]: 65: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,336 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:04:43,336 INFO L290 TraceCheckUtils]: 63: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,336 INFO L290 TraceCheckUtils]: 62: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,336 INFO L290 TraceCheckUtils]: 61: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,336 INFO L272 TraceCheckUtils]: 60: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,337 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:04:43,337 INFO L290 TraceCheckUtils]: 58: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,337 INFO L290 TraceCheckUtils]: 57: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,337 INFO L290 TraceCheckUtils]: 56: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,337 INFO L272 TraceCheckUtils]: 55: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,338 INFO L290 TraceCheckUtils]: 54: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:04:43,339 INFO L290 TraceCheckUtils]: 53: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:04:43,340 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #108#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:04:43,340 INFO L290 TraceCheckUtils]: 51: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,340 INFO L290 TraceCheckUtils]: 50: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,340 INFO L290 TraceCheckUtils]: 49: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,340 INFO L272 TraceCheckUtils]: 48: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,340 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:04:43,340 INFO L290 TraceCheckUtils]: 46: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,341 INFO L290 TraceCheckUtils]: 45: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,341 INFO L290 TraceCheckUtils]: 44: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,341 INFO L272 TraceCheckUtils]: 43: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,341 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:04:43,341 INFO L290 TraceCheckUtils]: 41: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,341 INFO L290 TraceCheckUtils]: 40: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,341 INFO L290 TraceCheckUtils]: 39: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,341 INFO L272 TraceCheckUtils]: 38: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,342 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:04:43,342 INFO L290 TraceCheckUtils]: 36: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,342 INFO L290 TraceCheckUtils]: 35: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,342 INFO L290 TraceCheckUtils]: 34: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,342 INFO L272 TraceCheckUtils]: 33: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,342 INFO L290 TraceCheckUtils]: 32: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:04:43,343 INFO L290 TraceCheckUtils]: 31: Hoare triple {10234#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-15 15:04:43,343 INFO L290 TraceCheckUtils]: 30: Hoare triple {10234#true} assume !false; {10234#true} is VALID [2022-04-15 15:04:43,343 INFO L290 TraceCheckUtils]: 29: Hoare triple {10234#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10234#true} is VALID [2022-04-15 15:04:43,343 INFO L290 TraceCheckUtils]: 28: Hoare triple {10234#true} assume !false; {10234#true} is VALID [2022-04-15 15:04:43,343 INFO L290 TraceCheckUtils]: 27: Hoare triple {10234#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10234#true} is VALID [2022-04-15 15:04:43,343 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10234#true} {10234#true} #100#return; {10234#true} is VALID [2022-04-15 15:04:43,343 INFO L290 TraceCheckUtils]: 25: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,343 INFO L290 TraceCheckUtils]: 24: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,343 INFO L290 TraceCheckUtils]: 23: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,343 INFO L272 TraceCheckUtils]: 22: Hoare triple {10234#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,343 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10234#true} {10234#true} #98#return; {10234#true} is VALID [2022-04-15 15:04:43,343 INFO L290 TraceCheckUtils]: 20: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,343 INFO L290 TraceCheckUtils]: 19: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,344 INFO L290 TraceCheckUtils]: 18: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,344 INFO L272 TraceCheckUtils]: 17: Hoare triple {10234#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,344 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10234#true} {10234#true} #96#return; {10234#true} is VALID [2022-04-15 15:04:43,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,344 INFO L290 TraceCheckUtils]: 13: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,344 INFO L272 TraceCheckUtils]: 12: Hoare triple {10234#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,344 INFO L290 TraceCheckUtils]: 11: Hoare triple {10234#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10234#true} is VALID [2022-04-15 15:04:43,344 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10234#true} {10234#true} #94#return; {10234#true} is VALID [2022-04-15 15:04:43,344 INFO L290 TraceCheckUtils]: 9: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,344 INFO L290 TraceCheckUtils]: 8: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-15 15:04:43,344 INFO L290 TraceCheckUtils]: 7: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-15 15:04:43,344 INFO L272 TraceCheckUtils]: 6: Hoare triple {10234#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {10234#true} is VALID [2022-04-15 15:04:43,344 INFO L290 TraceCheckUtils]: 5: Hoare triple {10234#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10234#true} is VALID [2022-04-15 15:04:43,345 INFO L272 TraceCheckUtils]: 4: Hoare triple {10234#true} call #t~ret6 := main(); {10234#true} is VALID [2022-04-15 15:04:43,345 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10234#true} {10234#true} #112#return; {10234#true} is VALID [2022-04-15 15:04:43,345 INFO L290 TraceCheckUtils]: 2: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-15 15:04:43,345 INFO L290 TraceCheckUtils]: 1: Hoare triple {10234#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(11, 2);call #Ultimate.allocInit(12, 3); {10234#true} is VALID [2022-04-15 15:04:43,345 INFO L272 TraceCheckUtils]: 0: Hoare triple {10234#true} call ULTIMATE.init(); {10234#true} is VALID [2022-04-15 15:04:43,345 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 113 trivial. 0 not checked. [2022-04-15 15:04:43,345 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:04:43,345 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [713542745] [2022-04-15 15:04:43,345 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:04:43,345 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [769733339] [2022-04-15 15:04:43,345 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [769733339] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 15:04:43,345 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:04:43,346 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-15 15:04:43,346 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:04:43,346 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [651411069] [2022-04-15 15:04:43,346 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [651411069] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:43,346 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:43,346 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:04:43,346 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1366302882] [2022-04-15 15:04:43,346 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:04:43,346 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 74 [2022-04-15 15:04:43,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:04:43,347 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:43,367 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-15 15:04:43,367 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:04:43,367 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:43,367 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:04:43,367 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-15 15:04:43,367 INFO L87 Difference]: Start difference. First operand 208 states and 296 transitions. Second operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:43,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:43,976 INFO L93 Difference]: Finished difference Result 214 states and 301 transitions. [2022-04-15 15:04:43,976 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:04:43,976 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 74 [2022-04-15 15:04:43,976 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:04:43,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:43,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-15 15:04:43,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:43,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-15 15:04:43,978 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-15 15:04:44,012 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:04:44,016 INFO L225 Difference]: With dead ends: 214 [2022-04-15 15:04:44,016 INFO L226 Difference]: Without dead ends: 212 [2022-04-15 15:04:44,016 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 140 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-15 15:04:44,017 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 9 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:04:44,017 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 139 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 15:04:44,017 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-15 15:04:44,387 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-15 15:04:44,387 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:04:44,388 INFO L82 GeneralOperation]: Start isEquivalent. First operand 212 states. Second operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:04:44,388 INFO L74 IsIncluded]: Start isIncluded. First operand 212 states. Second operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:04:44,388 INFO L87 Difference]: Start difference. First operand 212 states. Second operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:04:44,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:44,393 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-15 15:04:44,393 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-15 15:04:44,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:44,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:44,394 INFO L74 IsIncluded]: Start isIncluded. First operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 212 states. [2022-04-15 15:04:44,395 INFO L87 Difference]: Start difference. First operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 212 states. [2022-04-15 15:04:44,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:44,399 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-15 15:04:44,399 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-15 15:04:44,400 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:44,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:44,400 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:04:44,400 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:04:44,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:04:44,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 299 transitions. [2022-04-15 15:04:44,405 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 299 transitions. Word has length 74 [2022-04-15 15:04:44,405 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:04:44,405 INFO L478 AbstractCegarLoop]: Abstraction has 212 states and 299 transitions. [2022-04-15 15:04:44,405 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:44,405 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 212 states and 299 transitions. [2022-04-15 15:04:44,843 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 299 edges. 299 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:04:44,843 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-15 15:04:44,844 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-15 15:04:44,844 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:04:44,844 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:04:44,862 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-15 15:04:45,044 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 15:04:45,044 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:04:45,045 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:04:45,045 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 1 times [2022-04-15 15:04:45,045 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:45,045 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [115787748] [2022-04-15 15:04:45,045 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:04:45,045 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 2 times [2022-04-15 15:04:45,045 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:04:45,046 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [831513736] [2022-04-15 15:04:45,046 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:04:45,046 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:04:45,057 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:04:45,058 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [220713974] [2022-04-15 15:04:45,058 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:04:45,058 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:04:45,058 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:04:45,071 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-15 15:04:45,072 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-15 15:04:45,121 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:04:45,121 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:04:45,122 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-15 15:04:45,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:04:45,130 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:04:45,254 INFO L272 TraceCheckUtils]: 0: Hoare triple {11962#true} call ULTIMATE.init(); {11962#true} is VALID [2022-04-15 15:04:45,254 INFO L290 TraceCheckUtils]: 1: Hoare triple {11962#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(11, 2);call #Ultimate.allocInit(12, 3); {11962#true} is VALID [2022-04-15 15:04:45,254 INFO L290 TraceCheckUtils]: 2: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 15:04:45,254 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11962#true} {11962#true} #112#return; {11962#true} is VALID [2022-04-15 15:04:45,254 INFO L272 TraceCheckUtils]: 4: Hoare triple {11962#true} call #t~ret6 := main(); {11962#true} is VALID [2022-04-15 15:04:45,254 INFO L290 TraceCheckUtils]: 5: Hoare triple {11962#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11962#true} is VALID [2022-04-15 15:04:45,254 INFO L272 TraceCheckUtils]: 6: Hoare triple {11962#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {11962#true} is VALID [2022-04-15 15:04:45,254 INFO L290 TraceCheckUtils]: 7: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 15:04:45,254 INFO L290 TraceCheckUtils]: 8: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 15:04:45,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 15:04:45,254 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11962#true} {11962#true} #94#return; {11962#true} is VALID [2022-04-15 15:04:45,255 INFO L290 TraceCheckUtils]: 11: Hoare triple {11962#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11962#true} is VALID [2022-04-15 15:04:45,255 INFO L272 TraceCheckUtils]: 12: Hoare triple {11962#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {11962#true} is VALID [2022-04-15 15:04:45,255 INFO L290 TraceCheckUtils]: 13: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 15:04:45,255 INFO L290 TraceCheckUtils]: 14: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 15:04:45,255 INFO L290 TraceCheckUtils]: 15: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 15:04:45,255 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11962#true} {11962#true} #96#return; {11962#true} is VALID [2022-04-15 15:04:45,255 INFO L272 TraceCheckUtils]: 17: Hoare triple {11962#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11962#true} is VALID [2022-04-15 15:04:45,255 INFO L290 TraceCheckUtils]: 18: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 15:04:45,255 INFO L290 TraceCheckUtils]: 19: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 15:04:45,255 INFO L290 TraceCheckUtils]: 20: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 15:04:45,255 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11962#true} {11962#true} #98#return; {11962#true} is VALID [2022-04-15 15:04:45,255 INFO L272 TraceCheckUtils]: 22: Hoare triple {11962#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11962#true} is VALID [2022-04-15 15:04:45,255 INFO L290 TraceCheckUtils]: 23: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 15:04:45,255 INFO L290 TraceCheckUtils]: 24: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 15:04:45,256 INFO L290 TraceCheckUtils]: 25: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 15:04:45,256 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11962#true} {11962#true} #100#return; {11962#true} is VALID [2022-04-15 15:04:45,256 INFO L290 TraceCheckUtils]: 27: Hoare triple {11962#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11962#true} is VALID [2022-04-15 15:04:45,256 INFO L290 TraceCheckUtils]: 28: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 15:04:45,256 INFO L290 TraceCheckUtils]: 29: Hoare triple {11962#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11962#true} is VALID [2022-04-15 15:04:45,256 INFO L290 TraceCheckUtils]: 30: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 15:04:45,256 INFO L290 TraceCheckUtils]: 31: Hoare triple {11962#true} assume !(~c~0 >= ~b~0); {11962#true} is VALID [2022-04-15 15:04:45,256 INFO L290 TraceCheckUtils]: 32: Hoare triple {11962#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11962#true} is VALID [2022-04-15 15:04:45,256 INFO L290 TraceCheckUtils]: 33: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 15:04:45,256 INFO L290 TraceCheckUtils]: 34: Hoare triple {11962#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11962#true} is VALID [2022-04-15 15:04:45,256 INFO L290 TraceCheckUtils]: 35: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 15:04:45,256 INFO L290 TraceCheckUtils]: 36: Hoare triple {11962#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11962#true} is VALID [2022-04-15 15:04:45,256 INFO L290 TraceCheckUtils]: 37: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 15:04:45,256 INFO L272 TraceCheckUtils]: 38: Hoare triple {11962#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11962#true} is VALID [2022-04-15 15:04:45,257 INFO L290 TraceCheckUtils]: 39: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 15:04:45,257 INFO L290 TraceCheckUtils]: 40: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 15:04:45,257 INFO L290 TraceCheckUtils]: 41: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 15:04:45,257 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11962#true} {11962#true} #102#return; {11962#true} is VALID [2022-04-15 15:04:45,257 INFO L272 TraceCheckUtils]: 43: Hoare triple {11962#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11962#true} is VALID [2022-04-15 15:04:45,258 INFO L290 TraceCheckUtils]: 44: Hoare triple {11962#true} ~cond := #in~cond; {12099#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:04:45,258 INFO L290 TraceCheckUtils]: 45: Hoare triple {12099#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:04:45,258 INFO L290 TraceCheckUtils]: 46: Hoare triple {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:04:45,259 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} {11962#true} #104#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:45,259 INFO L272 TraceCheckUtils]: 48: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11962#true} is VALID [2022-04-15 15:04:45,259 INFO L290 TraceCheckUtils]: 49: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 15:04:45,259 INFO L290 TraceCheckUtils]: 50: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 15:04:45,263 INFO L290 TraceCheckUtils]: 51: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 15:04:45,264 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11962#true} {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #106#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:45,264 INFO L272 TraceCheckUtils]: 53: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11962#true} is VALID [2022-04-15 15:04:45,264 INFO L290 TraceCheckUtils]: 54: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 15:04:45,264 INFO L290 TraceCheckUtils]: 55: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 15:04:45,264 INFO L290 TraceCheckUtils]: 56: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 15:04:45,265 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11962#true} {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #108#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:45,265 INFO L290 TraceCheckUtils]: 58: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= 2 * ~v~0); {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:45,266 INFO L290 TraceCheckUtils]: 59: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:45,266 INFO L290 TraceCheckUtils]: 60: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:45,266 INFO L290 TraceCheckUtils]: 61: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:45,267 INFO L290 TraceCheckUtils]: 62: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:04:45,267 INFO L290 TraceCheckUtils]: 63: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:04:45,268 INFO L290 TraceCheckUtils]: 64: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:04:45,268 INFO L290 TraceCheckUtils]: 65: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:04:45,268 INFO L290 TraceCheckUtils]: 66: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:04:45,269 INFO L290 TraceCheckUtils]: 67: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:04:45,269 INFO L272 TraceCheckUtils]: 68: Hoare triple {12156#(= 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)); {12175#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:04:45,270 INFO L290 TraceCheckUtils]: 69: Hoare triple {12175#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12179#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:04:45,270 INFO L290 TraceCheckUtils]: 70: Hoare triple {12179#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11963#false} is VALID [2022-04-15 15:04:45,270 INFO L290 TraceCheckUtils]: 71: Hoare triple {11963#false} assume !false; {11963#false} is VALID [2022-04-15 15:04:45,270 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-15 15:04:45,270 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:04:57,788 INFO L290 TraceCheckUtils]: 71: Hoare triple {11963#false} assume !false; {11963#false} is VALID [2022-04-15 15:04:57,789 INFO L290 TraceCheckUtils]: 70: Hoare triple {12179#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11963#false} is VALID [2022-04-15 15:04:57,789 INFO L290 TraceCheckUtils]: 69: Hoare triple {12175#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12179#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:04:57,790 INFO L272 TraceCheckUtils]: 68: Hoare triple {12156#(= 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)); {12175#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:04:57,790 INFO L290 TraceCheckUtils]: 67: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:04:57,791 INFO L290 TraceCheckUtils]: 66: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:04:57,791 INFO L290 TraceCheckUtils]: 65: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:04:57,791 INFO L290 TraceCheckUtils]: 64: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:04:57,792 INFO L290 TraceCheckUtils]: 63: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:04:57,792 INFO L290 TraceCheckUtils]: 62: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:04:57,792 INFO L290 TraceCheckUtils]: 61: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:57,793 INFO L290 TraceCheckUtils]: 60: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:57,793 INFO L290 TraceCheckUtils]: 59: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:57,793 INFO L290 TraceCheckUtils]: 58: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= 2 * ~v~0); {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:57,794 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11962#true} {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #108#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:57,794 INFO L290 TraceCheckUtils]: 56: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 15:04:57,794 INFO L290 TraceCheckUtils]: 55: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 15:04:57,794 INFO L290 TraceCheckUtils]: 54: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 15:04:57,794 INFO L272 TraceCheckUtils]: 53: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11962#true} is VALID [2022-04-15 15:04:57,795 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11962#true} {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #106#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:57,795 INFO L290 TraceCheckUtils]: 51: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 15:04:57,795 INFO L290 TraceCheckUtils]: 50: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 15:04:57,795 INFO L290 TraceCheckUtils]: 49: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 15:04:57,795 INFO L272 TraceCheckUtils]: 48: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11962#true} is VALID [2022-04-15 15:04:57,796 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} {11962#true} #104#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:04:57,796 INFO L290 TraceCheckUtils]: 46: Hoare triple {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:04:57,797 INFO L290 TraceCheckUtils]: 45: Hoare triple {12267#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:04:57,797 INFO L290 TraceCheckUtils]: 44: Hoare triple {11962#true} ~cond := #in~cond; {12267#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:04:57,797 INFO L272 TraceCheckUtils]: 43: Hoare triple {11962#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11962#true} is VALID [2022-04-15 15:04:57,797 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11962#true} {11962#true} #102#return; {11962#true} is VALID [2022-04-15 15:04:57,797 INFO L290 TraceCheckUtils]: 41: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 15:04:57,797 INFO L290 TraceCheckUtils]: 40: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 15:04:57,797 INFO L290 TraceCheckUtils]: 39: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 15:04:57,797 INFO L272 TraceCheckUtils]: 38: Hoare triple {11962#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11962#true} is VALID [2022-04-15 15:04:57,797 INFO L290 TraceCheckUtils]: 37: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 15:04:57,797 INFO L290 TraceCheckUtils]: 36: Hoare triple {11962#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11962#true} is VALID [2022-04-15 15:04:57,798 INFO L290 TraceCheckUtils]: 35: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 15:04:57,798 INFO L290 TraceCheckUtils]: 34: Hoare triple {11962#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11962#true} is VALID [2022-04-15 15:04:57,798 INFO L290 TraceCheckUtils]: 33: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 15:04:57,798 INFO L290 TraceCheckUtils]: 32: Hoare triple {11962#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11962#true} is VALID [2022-04-15 15:04:57,798 INFO L290 TraceCheckUtils]: 31: Hoare triple {11962#true} assume !(~c~0 >= ~b~0); {11962#true} is VALID [2022-04-15 15:04:57,798 INFO L290 TraceCheckUtils]: 30: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 15:04:57,798 INFO L290 TraceCheckUtils]: 29: Hoare triple {11962#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11962#true} is VALID [2022-04-15 15:04:57,798 INFO L290 TraceCheckUtils]: 28: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-15 15:04:57,798 INFO L290 TraceCheckUtils]: 27: Hoare triple {11962#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11962#true} is VALID [2022-04-15 15:04:57,798 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11962#true} {11962#true} #100#return; {11962#true} is VALID [2022-04-15 15:04:57,798 INFO L290 TraceCheckUtils]: 25: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 15:04:57,798 INFO L290 TraceCheckUtils]: 24: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 15:04:57,798 INFO L290 TraceCheckUtils]: 23: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 15:04:57,798 INFO L272 TraceCheckUtils]: 22: Hoare triple {11962#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11962#true} is VALID [2022-04-15 15:04:57,799 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11962#true} {11962#true} #98#return; {11962#true} is VALID [2022-04-15 15:04:57,799 INFO L290 TraceCheckUtils]: 20: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 15:04:57,799 INFO L290 TraceCheckUtils]: 19: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 15:04:57,799 INFO L290 TraceCheckUtils]: 18: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 15:04:57,799 INFO L272 TraceCheckUtils]: 17: Hoare triple {11962#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11962#true} is VALID [2022-04-15 15:04:57,799 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11962#true} {11962#true} #96#return; {11962#true} is VALID [2022-04-15 15:04:57,799 INFO L290 TraceCheckUtils]: 15: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 15:04:57,799 INFO L290 TraceCheckUtils]: 14: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 15:04:57,799 INFO L290 TraceCheckUtils]: 13: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 15:04:57,799 INFO L272 TraceCheckUtils]: 12: Hoare triple {11962#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {11962#true} is VALID [2022-04-15 15:04:57,799 INFO L290 TraceCheckUtils]: 11: Hoare triple {11962#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11962#true} is VALID [2022-04-15 15:04:57,799 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11962#true} {11962#true} #94#return; {11962#true} is VALID [2022-04-15 15:04:57,799 INFO L290 TraceCheckUtils]: 9: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 15:04:57,799 INFO L290 TraceCheckUtils]: 8: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-15 15:04:57,800 INFO L290 TraceCheckUtils]: 7: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-15 15:04:57,800 INFO L272 TraceCheckUtils]: 6: Hoare triple {11962#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {11962#true} is VALID [2022-04-15 15:04:57,800 INFO L290 TraceCheckUtils]: 5: Hoare triple {11962#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11962#true} is VALID [2022-04-15 15:04:57,800 INFO L272 TraceCheckUtils]: 4: Hoare triple {11962#true} call #t~ret6 := main(); {11962#true} is VALID [2022-04-15 15:04:57,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11962#true} {11962#true} #112#return; {11962#true} is VALID [2022-04-15 15:04:57,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-15 15:04:57,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {11962#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(11, 2);call #Ultimate.allocInit(12, 3); {11962#true} is VALID [2022-04-15 15:04:57,800 INFO L272 TraceCheckUtils]: 0: Hoare triple {11962#true} call ULTIMATE.init(); {11962#true} is VALID [2022-04-15 15:04:57,800 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-15 15:04:57,800 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:04:57,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [831513736] [2022-04-15 15:04:57,800 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:04:57,801 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [220713974] [2022-04-15 15:04:57,801 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [220713974] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:04:57,801 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:04:57,801 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 15:04:57,801 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:04:57,801 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [115787748] [2022-04-15 15:04:57,801 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [115787748] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:04:57,801 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:04:57,801 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 15:04:57,801 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [339743009] [2022-04-15 15:04:57,801 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:04:57,802 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 72 [2022-04-15 15:04:57,802 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:04:57,802 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:57,839 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-15 15:04:57,839 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 15:04:57,839 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:04:57,839 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 15:04:57,839 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-15 15:04:57,839 INFO L87 Difference]: Start difference. First operand 212 states and 299 transitions. Second operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:58,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:58,921 INFO L93 Difference]: Finished difference Result 226 states and 310 transitions. [2022-04-15 15:04:58,921 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 15:04:58,921 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 72 [2022-04-15 15:04:58,921 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:04:58,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:58,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-15 15:04:58,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:58,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-15 15:04:58,922 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 58 transitions. [2022-04-15 15:04:58,967 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-15 15:04:58,971 INFO L225 Difference]: With dead ends: 226 [2022-04-15 15:04:58,971 INFO L226 Difference]: Without dead ends: 224 [2022-04-15 15:04:58,971 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 136 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-15 15:04:58,971 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 22 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 96 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 107 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 96 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:04:58,972 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 146 Invalid, 107 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 96 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:04:58,972 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-15 15:04:59,522 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 224. [2022-04-15 15:04:59,522 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:04:59,523 INFO L82 GeneralOperation]: Start isEquivalent. First operand 224 states. Second operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:04:59,523 INFO L74 IsIncluded]: Start isIncluded. First operand 224 states. Second operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:04:59,523 INFO L87 Difference]: Start difference. First operand 224 states. Second operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:04:59,528 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:59,528 INFO L93 Difference]: Finished difference Result 224 states and 308 transitions. [2022-04-15 15:04:59,528 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-15 15:04:59,528 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:59,528 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:59,529 INFO L74 IsIncluded]: Start isIncluded. First operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 224 states. [2022-04-15 15:04:59,529 INFO L87 Difference]: Start difference. First operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 224 states. [2022-04-15 15:04:59,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:04:59,533 INFO L93 Difference]: Finished difference Result 224 states and 308 transitions. [2022-04-15 15:04:59,533 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-15 15:04:59,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:04:59,534 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:04:59,534 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:04:59,534 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:04:59,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 15:04:59,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 224 states to 224 states and 308 transitions. [2022-04-15 15:04:59,539 INFO L78 Accepts]: Start accepts. Automaton has 224 states and 308 transitions. Word has length 72 [2022-04-15 15:04:59,539 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:04:59,539 INFO L478 AbstractCegarLoop]: Abstraction has 224 states and 308 transitions. [2022-04-15 15:04:59,539 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:04:59,539 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 224 states and 308 transitions. [2022-04-15 15:05:00,023 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 308 edges. 308 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:05:00,023 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-15 15:05:00,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-15 15:05:00,024 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:05:00,024 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:05:00,040 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-15 15:05:00,247 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-15 15:05:00,248 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:05:00,248 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:05:00,248 INFO L85 PathProgramCache]: Analyzing trace with hash 1984914564, now seen corresponding path program 3 times [2022-04-15 15:05:00,248 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:05:00,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1292662639] [2022-04-15 15:05:00,249 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:05:00,249 INFO L85 PathProgramCache]: Analyzing trace with hash 1984914564, now seen corresponding path program 4 times [2022-04-15 15:05:00,249 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:05:00,249 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [906780386] [2022-04-15 15:05:00,249 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:05:00,249 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:05:00,269 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:05:00,269 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [884774737] [2022-04-15 15:05:00,269 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:05:00,270 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:05:00,270 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:05:00,270 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-15 15:05:00,272 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-15 15:05:00,310 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:05:00,310 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:05:00,311 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 15:05:00,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:05:00,321 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:05:00,507 INFO L272 TraceCheckUtils]: 0: Hoare triple {13757#true} call ULTIMATE.init(); {13757#true} is VALID [2022-04-15 15:05:00,507 INFO L290 TraceCheckUtils]: 1: Hoare triple {13757#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(11, 2);call #Ultimate.allocInit(12, 3); {13757#true} is VALID [2022-04-15 15:05:00,507 INFO L290 TraceCheckUtils]: 2: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 15:05:00,507 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13757#true} {13757#true} #112#return; {13757#true} is VALID [2022-04-15 15:05:00,507 INFO L272 TraceCheckUtils]: 4: Hoare triple {13757#true} call #t~ret6 := main(); {13757#true} is VALID [2022-04-15 15:05:00,508 INFO L290 TraceCheckUtils]: 5: Hoare triple {13757#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13757#true} is VALID [2022-04-15 15:05:00,508 INFO L272 TraceCheckUtils]: 6: Hoare triple {13757#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {13757#true} is VALID [2022-04-15 15:05:00,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-15 15:05:00,508 INFO L290 TraceCheckUtils]: 8: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-15 15:05:00,508 INFO L290 TraceCheckUtils]: 9: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 15:05:00,508 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13757#true} {13757#true} #94#return; {13757#true} is VALID [2022-04-15 15:05:00,508 INFO L290 TraceCheckUtils]: 11: Hoare triple {13757#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13757#true} is VALID [2022-04-15 15:05:00,508 INFO L272 TraceCheckUtils]: 12: Hoare triple {13757#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {13757#true} is VALID [2022-04-15 15:05:00,508 INFO L290 TraceCheckUtils]: 13: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-15 15:05:00,508 INFO L290 TraceCheckUtils]: 14: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-15 15:05:00,508 INFO L290 TraceCheckUtils]: 15: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 15:05:00,508 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13757#true} {13757#true} #96#return; {13757#true} is VALID [2022-04-15 15:05:00,508 INFO L272 TraceCheckUtils]: 17: Hoare triple {13757#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13757#true} is VALID [2022-04-15 15:05:00,508 INFO L290 TraceCheckUtils]: 18: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-15 15:05:00,509 INFO L290 TraceCheckUtils]: 19: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-15 15:05:00,509 INFO L290 TraceCheckUtils]: 20: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 15:05:00,509 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13757#true} {13757#true} #98#return; {13757#true} is VALID [2022-04-15 15:05:00,509 INFO L272 TraceCheckUtils]: 22: Hoare triple {13757#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13757#true} is VALID [2022-04-15 15:05:00,509 INFO L290 TraceCheckUtils]: 23: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-15 15:05:00,509 INFO L290 TraceCheckUtils]: 24: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-15 15:05:00,509 INFO L290 TraceCheckUtils]: 25: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 15:05:00,509 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13757#true} {13757#true} #100#return; {13757#true} is VALID [2022-04-15 15:05:00,509 INFO L290 TraceCheckUtils]: 27: Hoare triple {13757#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13757#true} is VALID [2022-04-15 15:05:00,509 INFO L290 TraceCheckUtils]: 28: Hoare triple {13757#true} assume !false; {13757#true} is VALID [2022-04-15 15:05:00,509 INFO L290 TraceCheckUtils]: 29: Hoare triple {13757#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13757#true} is VALID [2022-04-15 15:05:00,509 INFO L290 TraceCheckUtils]: 30: Hoare triple {13757#true} assume !false; {13757#true} is VALID [2022-04-15 15:05:00,509 INFO L290 TraceCheckUtils]: 31: Hoare triple {13757#true} assume !(~c~0 >= ~b~0); {13757#true} is VALID [2022-04-15 15:05:00,509 INFO L290 TraceCheckUtils]: 32: Hoare triple {13757#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13757#true} is VALID [2022-04-15 15:05:00,510 INFO L290 TraceCheckUtils]: 33: Hoare triple {13757#true} assume !false; {13757#true} is VALID [2022-04-15 15:05:00,510 INFO L290 TraceCheckUtils]: 34: Hoare triple {13757#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13757#true} is VALID [2022-04-15 15:05:00,510 INFO L290 TraceCheckUtils]: 35: Hoare triple {13757#true} assume !false; {13757#true} is VALID [2022-04-15 15:05:00,510 INFO L290 TraceCheckUtils]: 36: Hoare triple {13757#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:05:00,510 INFO L290 TraceCheckUtils]: 37: Hoare triple {13870#(<= main_~v~0 main_~b~0)} assume !false; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:05:00,510 INFO L272 TraceCheckUtils]: 38: Hoare triple {13870#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13757#true} is VALID [2022-04-15 15:05:00,510 INFO L290 TraceCheckUtils]: 39: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-15 15:05:00,511 INFO L290 TraceCheckUtils]: 40: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-15 15:05:00,511 INFO L290 TraceCheckUtils]: 41: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 15:05:00,511 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13757#true} {13870#(<= main_~v~0 main_~b~0)} #102#return; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:05:00,511 INFO L272 TraceCheckUtils]: 43: Hoare triple {13870#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13757#true} is VALID [2022-04-15 15:05:00,511 INFO L290 TraceCheckUtils]: 44: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-15 15:05:00,511 INFO L290 TraceCheckUtils]: 45: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-15 15:05:00,512 INFO L290 TraceCheckUtils]: 46: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 15:05:00,512 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13757#true} {13870#(<= main_~v~0 main_~b~0)} #104#return; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:05:00,512 INFO L272 TraceCheckUtils]: 48: Hoare triple {13870#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13757#true} is VALID [2022-04-15 15:05:00,512 INFO L290 TraceCheckUtils]: 49: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-15 15:05:00,512 INFO L290 TraceCheckUtils]: 50: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-15 15:05:00,512 INFO L290 TraceCheckUtils]: 51: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 15:05:00,513 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13757#true} {13870#(<= main_~v~0 main_~b~0)} #106#return; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:05:00,513 INFO L272 TraceCheckUtils]: 53: Hoare triple {13870#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13757#true} is VALID [2022-04-15 15:05:00,513 INFO L290 TraceCheckUtils]: 54: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-15 15:05:00,513 INFO L290 TraceCheckUtils]: 55: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-15 15:05:00,513 INFO L290 TraceCheckUtils]: 56: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-15 15:05:00,514 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {13757#true} {13870#(<= main_~v~0 main_~b~0)} #108#return; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-15 15:05:00,514 INFO L290 TraceCheckUtils]: 58: Hoare triple {13870#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {13937#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-15 15:05:00,515 INFO L290 TraceCheckUtils]: 59: Hoare triple {13937#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {13941#(< main_~c~0 main_~b~0)} is VALID [2022-04-15 15:05:00,515 INFO L290 TraceCheckUtils]: 60: Hoare triple {13941#(< main_~c~0 main_~b~0)} assume !false; {13941#(< main_~c~0 main_~b~0)} is VALID [2022-04-15 15:05:00,515 INFO L290 TraceCheckUtils]: 61: Hoare triple {13941#(< main_~c~0 main_~b~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13758#false} is VALID [2022-04-15 15:05:00,516 INFO L290 TraceCheckUtils]: 62: Hoare triple {13758#false} assume !false; {13758#false} is VALID [2022-04-15 15:05:00,516 INFO L272 TraceCheckUtils]: 63: Hoare triple {13758#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13758#false} is VALID [2022-04-15 15:05:00,516 INFO L290 TraceCheckUtils]: 64: Hoare triple {13758#false} ~cond := #in~cond; {13758#false} is VALID [2022-04-15 15:05:00,516 INFO L290 TraceCheckUtils]: 65: Hoare triple {13758#false} assume !(0 == ~cond); {13758#false} is VALID [2022-04-15 15:05:00,516 INFO L290 TraceCheckUtils]: 66: Hoare triple {13758#false} assume true; {13758#false} is VALID [2022-04-15 15:05:00,516 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13758#false} {13758#false} #102#return; {13758#false} is VALID [2022-04-15 15:05:00,516 INFO L272 TraceCheckUtils]: 68: Hoare triple {13758#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13758#false} is VALID [2022-04-15 15:05:00,516 INFO L290 TraceCheckUtils]: 69: Hoare triple {13758#false} ~cond := #in~cond; {13758#false} is VALID [2022-04-15 15:05:00,516 INFO L290 TraceCheckUtils]: 70: Hoare triple {13758#false} assume !(0 == ~cond); {13758#false} is VALID [2022-04-15 15:05:00,516 INFO L290 TraceCheckUtils]: 71: Hoare triple {13758#false} assume true; {13758#false} is VALID [2022-04-15 15:05:00,516 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {13758#false} {13758#false} #104#return; {13758#false} is VALID [2022-04-15 15:05:00,516 INFO L272 TraceCheckUtils]: 73: Hoare triple {13758#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13758#false} is VALID [2022-04-15 15:05:00,516 INFO L290 TraceCheckUtils]: 74: Hoare triple {13758#false} ~cond := #in~cond; {13758#false} is VALID [2022-04-15 15:05:00,516 INFO L290 TraceCheckUtils]: 75: Hoare triple {13758#false} assume 0 == ~cond; {13758#false} is VALID [2022-04-15 15:05:00,517 INFO L290 TraceCheckUtils]: 76: Hoare triple {13758#false} assume !false; {13758#false} is VALID [2022-04-15 15:05:00,517 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 48 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-15 15:05:00,517 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 15:05:00,517 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:05:00,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [906780386] [2022-04-15 15:05:00,518 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:05:00,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [884774737] [2022-04-15 15:05:00,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [884774737] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:05:00,518 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:05:00,518 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:05:00,518 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:05:00,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1292662639] [2022-04-15 15:05:00,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1292662639] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:05:00,519 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:05:00,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:05:00,519 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [239927868] [2022-04-15 15:05:00,519 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:05:00,519 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 77 [2022-04-15 15:05:00,519 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:05:00,519 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-15 15:05:00,558 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:05:00,559 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:05:00,559 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:05:00,559 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:05:00,559 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-15 15:05:00,559 INFO L87 Difference]: Start difference. First operand 224 states and 308 transitions. Second operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-15 15:05:01,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:01,248 INFO L93 Difference]: Finished difference Result 367 states and 500 transitions. [2022-04-15 15:05:01,248 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 15:05:01,248 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 77 [2022-04-15 15:05:01,248 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:05:01,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-15 15:05:01,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2022-04-15 15:05:01,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-15 15:05:01,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2022-04-15 15:05:01,250 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 85 transitions. [2022-04-15 15:05:01,288 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:05:01,292 INFO L225 Difference]: With dead ends: 367 [2022-04-15 15:05:01,292 INFO L226 Difference]: Without dead ends: 230 [2022-04-15 15:05:01,293 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 74 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-15 15:05:01,293 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 3 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 45 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:05:01,293 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 109 Invalid, 45 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 15:05:01,294 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-15 15:05:01,636 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 214. [2022-04-15 15:05:01,637 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:05:01,637 INFO L82 GeneralOperation]: Start isEquivalent. First operand 230 states. Second operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 15:05:01,637 INFO L74 IsIncluded]: Start isIncluded. First operand 230 states. Second operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 15:05:01,637 INFO L87 Difference]: Start difference. First operand 230 states. Second operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 15:05:01,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:01,642 INFO L93 Difference]: Finished difference Result 230 states and 305 transitions. [2022-04-15 15:05:01,642 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 305 transitions. [2022-04-15 15:05:01,642 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:05:01,643 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:05:01,643 INFO L74 IsIncluded]: Start isIncluded. First operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) Second operand 230 states. [2022-04-15 15:05:01,643 INFO L87 Difference]: Start difference. First operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) Second operand 230 states. [2022-04-15 15:05:01,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:01,647 INFO L93 Difference]: Finished difference Result 230 states and 305 transitions. [2022-04-15 15:05:01,647 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 305 transitions. [2022-04-15 15:05:01,648 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:05:01,648 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:05:01,648 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:05:01,648 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:05:01,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 15:05:01,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 214 states to 214 states and 289 transitions. [2022-04-15 15:05:01,653 INFO L78 Accepts]: Start accepts. Automaton has 214 states and 289 transitions. Word has length 77 [2022-04-15 15:05:01,653 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:05:01,653 INFO L478 AbstractCegarLoop]: Abstraction has 214 states and 289 transitions. [2022-04-15 15:05:01,653 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-15 15:05:01,653 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 214 states and 289 transitions. [2022-04-15 15:05:02,182 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 289 edges. 289 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:05:02,182 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 289 transitions. [2022-04-15 15:05:02,182 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-15 15:05:02,182 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:05:02,183 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 4, 3, 3, 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, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:05:02,201 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-15 15:05:02,383 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-15 15:05:02,383 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:05:02,383 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:05:02,384 INFO L85 PathProgramCache]: Analyzing trace with hash -867272991, now seen corresponding path program 5 times [2022-04-15 15:05:02,384 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:05:02,384 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2129897894] [2022-04-15 15:05:02,384 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:05:02,384 INFO L85 PathProgramCache]: Analyzing trace with hash -867272991, now seen corresponding path program 6 times [2022-04-15 15:05:02,384 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:05:02,384 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1559226102] [2022-04-15 15:05:02,384 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:05:02,384 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:05:02,401 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:05:02,402 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [617827752] [2022-04-15 15:05:02,402 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 15:05:02,402 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:05:02,402 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:05:02,403 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-15 15:05:02,407 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-15 15:05:02,469 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 15:05:02,469 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:05:02,470 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 71 conjunts are in the unsatisfiable core [2022-04-15 15:05:02,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:05:02,483 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:05:03,322 INFO L272 TraceCheckUtils]: 0: Hoare triple {15617#true} call ULTIMATE.init(); {15617#true} is VALID [2022-04-15 15:05:03,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {15617#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(11, 2);call #Ultimate.allocInit(12, 3); {15617#true} is VALID [2022-04-15 15:05:03,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:03,323 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15617#true} {15617#true} #112#return; {15617#true} is VALID [2022-04-15 15:05:03,323 INFO L272 TraceCheckUtils]: 4: Hoare triple {15617#true} call #t~ret6 := main(); {15617#true} is VALID [2022-04-15 15:05:03,323 INFO L290 TraceCheckUtils]: 5: Hoare triple {15617#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {15617#true} is VALID [2022-04-15 15:05:03,323 INFO L272 TraceCheckUtils]: 6: Hoare triple {15617#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {15617#true} is VALID [2022-04-15 15:05:03,323 INFO L290 TraceCheckUtils]: 7: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 15:05:03,323 INFO L290 TraceCheckUtils]: 8: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 15:05:03,323 INFO L290 TraceCheckUtils]: 9: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:03,323 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15617#true} {15617#true} #94#return; {15617#true} is VALID [2022-04-15 15:05:03,324 INFO L290 TraceCheckUtils]: 11: Hoare triple {15617#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15617#true} is VALID [2022-04-15 15:05:03,324 INFO L272 TraceCheckUtils]: 12: Hoare triple {15617#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {15617#true} is VALID [2022-04-15 15:05:03,324 INFO L290 TraceCheckUtils]: 13: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 15:05:03,324 INFO L290 TraceCheckUtils]: 14: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 15:05:03,324 INFO L290 TraceCheckUtils]: 15: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:03,324 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15617#true} {15617#true} #96#return; {15617#true} is VALID [2022-04-15 15:05:03,324 INFO L272 TraceCheckUtils]: 17: Hoare triple {15617#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15617#true} is VALID [2022-04-15 15:05:03,324 INFO L290 TraceCheckUtils]: 18: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 15:05:03,324 INFO L290 TraceCheckUtils]: 19: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 15:05:03,324 INFO L290 TraceCheckUtils]: 20: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:03,324 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15617#true} {15617#true} #98#return; {15617#true} is VALID [2022-04-15 15:05:03,324 INFO L272 TraceCheckUtils]: 22: Hoare triple {15617#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15617#true} is VALID [2022-04-15 15:05:03,324 INFO L290 TraceCheckUtils]: 23: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 15:05:03,324 INFO L290 TraceCheckUtils]: 24: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 15:05:03,325 INFO L290 TraceCheckUtils]: 25: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:03,325 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15617#true} {15617#true} #100#return; {15617#true} is VALID [2022-04-15 15:05:03,325 INFO L290 TraceCheckUtils]: 27: Hoare triple {15617#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15703#(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-15 15:05:03,325 INFO L290 TraceCheckUtils]: 28: Hoare triple {15703#(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 !false; {15703#(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-15 15:05:03,326 INFO L290 TraceCheckUtils]: 29: Hoare triple {15703#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:05:03,326 INFO L290 TraceCheckUtils]: 30: Hoare triple {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:05:03,327 INFO L290 TraceCheckUtils]: 31: Hoare triple {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:05:03,327 INFO L290 TraceCheckUtils]: 32: Hoare triple {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15720#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:05:03,327 INFO L290 TraceCheckUtils]: 33: Hoare triple {15720#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {15720#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:05:03,328 INFO L290 TraceCheckUtils]: 34: Hoare triple {15720#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15727#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:05:03,328 INFO L290 TraceCheckUtils]: 35: Hoare triple {15727#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} assume !false; {15727#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:05:03,329 INFO L290 TraceCheckUtils]: 36: Hoare triple {15727#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:05:03,329 INFO L290 TraceCheckUtils]: 37: Hoare triple {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !false; {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:05:03,329 INFO L272 TraceCheckUtils]: 38: Hoare triple {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15617#true} is VALID [2022-04-15 15:05:03,329 INFO L290 TraceCheckUtils]: 39: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 15:05:03,329 INFO L290 TraceCheckUtils]: 40: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 15:05:03,329 INFO L290 TraceCheckUtils]: 41: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:03,330 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15617#true} {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #102#return; {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:05:03,330 INFO L272 TraceCheckUtils]: 43: Hoare triple {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15617#true} is VALID [2022-04-15 15:05:03,330 INFO L290 TraceCheckUtils]: 44: Hoare triple {15617#true} ~cond := #in~cond; {15759#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:05:03,331 INFO L290 TraceCheckUtils]: 45: Hoare triple {15759#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:03,331 INFO L290 TraceCheckUtils]: 46: Hoare triple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:03,332 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #104#return; {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:05:03,332 INFO L272 TraceCheckUtils]: 48: Hoare triple {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15617#true} is VALID [2022-04-15 15:05:03,332 INFO L290 TraceCheckUtils]: 49: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 15:05:03,332 INFO L290 TraceCheckUtils]: 50: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 15:05:03,332 INFO L290 TraceCheckUtils]: 51: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:03,333 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15617#true} {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #106#return; {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:05:03,333 INFO L272 TraceCheckUtils]: 53: Hoare triple {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15617#true} is VALID [2022-04-15 15:05:03,333 INFO L290 TraceCheckUtils]: 54: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 15:05:03,333 INFO L290 TraceCheckUtils]: 55: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 15:05:03,333 INFO L290 TraceCheckUtils]: 56: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:03,334 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {15617#true} {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #108#return; {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:05:03,335 INFO L290 TraceCheckUtils]: 58: Hoare triple {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !(~c~0 >= 2 * ~v~0); {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:05:03,335 INFO L290 TraceCheckUtils]: 59: Hoare triple {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-15 15:05:03,336 INFO L290 TraceCheckUtils]: 60: Hoare triple {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !false; {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-15 15:05:03,336 INFO L290 TraceCheckUtils]: 61: Hoare triple {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !(~c~0 >= ~b~0); {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-15 15:05:03,337 INFO L290 TraceCheckUtils]: 62: Hoare triple {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 15:05:03,337 INFO L290 TraceCheckUtils]: 63: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 15:05:03,338 INFO L290 TraceCheckUtils]: 64: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 15:05:03,338 INFO L290 TraceCheckUtils]: 65: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 15:05:03,339 INFO L290 TraceCheckUtils]: 66: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 15:05:03,339 INFO L290 TraceCheckUtils]: 67: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 15:05:03,340 INFO L272 TraceCheckUtils]: 68: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15617#true} is VALID [2022-04-15 15:05:03,340 INFO L290 TraceCheckUtils]: 69: Hoare triple {15617#true} ~cond := #in~cond; {15759#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:05:03,340 INFO L290 TraceCheckUtils]: 70: Hoare triple {15759#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:03,340 INFO L290 TraceCheckUtils]: 71: Hoare triple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:03,342 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} #102#return; {15848#(and (= (+ main_~b~0 (* main_~x~0 (* (- 1) main_~q~0))) main_~y~0) (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))))} is VALID [2022-04-15 15:05:03,343 INFO L272 TraceCheckUtils]: 73: Hoare triple {15848#(and (= (+ main_~b~0 (* main_~x~0 (* (- 1) main_~q~0))) main_~y~0) (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15852#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:05:03,343 INFO L290 TraceCheckUtils]: 74: Hoare triple {15852#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15856#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:05:03,344 INFO L290 TraceCheckUtils]: 75: Hoare triple {15856#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15618#false} is VALID [2022-04-15 15:05:03,344 INFO L290 TraceCheckUtils]: 76: Hoare triple {15618#false} assume !false; {15618#false} is VALID [2022-04-15 15:05:03,344 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 20 proven. 30 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-15 15:05:03,344 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:05:49,772 INFO L290 TraceCheckUtils]: 76: Hoare triple {15618#false} assume !false; {15618#false} is VALID [2022-04-15 15:05:49,773 INFO L290 TraceCheckUtils]: 75: Hoare triple {15856#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15618#false} is VALID [2022-04-15 15:05:49,773 INFO L290 TraceCheckUtils]: 74: Hoare triple {15852#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15856#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:05:49,774 INFO L272 TraceCheckUtils]: 73: Hoare triple {15872#(= 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)); {15852#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:05:49,774 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} {15876#(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)))))} #102#return; {15872#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:05:49,775 INFO L290 TraceCheckUtils]: 71: Hoare triple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:49,775 INFO L290 TraceCheckUtils]: 70: Hoare triple {15886#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:49,775 INFO L290 TraceCheckUtils]: 69: Hoare triple {15617#true} ~cond := #in~cond; {15886#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:05:49,775 INFO L272 TraceCheckUtils]: 68: Hoare triple {15876#(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)); {15617#true} is VALID [2022-04-15 15:05:49,776 INFO L290 TraceCheckUtils]: 67: Hoare triple {15876#(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 !false; {15876#(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-15 15:05:49,776 INFO L290 TraceCheckUtils]: 66: Hoare triple {15876#(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 !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15876#(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-15 15:05:49,777 INFO L290 TraceCheckUtils]: 65: Hoare triple {15876#(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 !false; {15876#(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-15 15:05:49,777 INFO L290 TraceCheckUtils]: 64: Hoare triple {15876#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15876#(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-15 15:05:49,778 INFO L290 TraceCheckUtils]: 63: Hoare triple {15876#(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 !false; {15876#(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-15 15:05:49,876 INFO L290 TraceCheckUtils]: 62: Hoare triple {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15876#(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-15 15:05:49,877 INFO L290 TraceCheckUtils]: 61: Hoare triple {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= ~b~0); {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:05:49,877 INFO L290 TraceCheckUtils]: 60: Hoare triple {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:05:49,882 INFO L290 TraceCheckUtils]: 59: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:05:49,882 INFO L290 TraceCheckUtils]: 58: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= 2 * ~v~0); {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:05:49,883 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {15617#true} {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #108#return; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:05:49,883 INFO L290 TraceCheckUtils]: 56: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:49,883 INFO L290 TraceCheckUtils]: 55: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 15:05:49,883 INFO L290 TraceCheckUtils]: 54: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 15:05:49,883 INFO L272 TraceCheckUtils]: 53: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15617#true} is VALID [2022-04-15 15:05:49,884 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15617#true} {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #106#return; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:05:49,884 INFO L290 TraceCheckUtils]: 51: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:49,884 INFO L290 TraceCheckUtils]: 50: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 15:05:49,884 INFO L290 TraceCheckUtils]: 49: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 15:05:49,884 INFO L272 TraceCheckUtils]: 48: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15617#true} is VALID [2022-04-15 15:05:49,885 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15617#true} {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #104#return; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:05:49,885 INFO L290 TraceCheckUtils]: 46: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:49,885 INFO L290 TraceCheckUtils]: 45: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 15:05:49,885 INFO L290 TraceCheckUtils]: 44: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 15:05:49,885 INFO L272 TraceCheckUtils]: 43: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {15617#true} is VALID [2022-04-15 15:05:49,886 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15617#true} {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #102#return; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:05:49,886 INFO L290 TraceCheckUtils]: 41: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:49,886 INFO L290 TraceCheckUtils]: 40: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 15:05:49,886 INFO L290 TraceCheckUtils]: 39: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 15:05:49,886 INFO L272 TraceCheckUtils]: 38: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {15617#true} is VALID [2022-04-15 15:05:49,887 INFO L290 TraceCheckUtils]: 37: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:05:49,888 INFO L290 TraceCheckUtils]: 36: Hoare triple {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:05:49,888 INFO L290 TraceCheckUtils]: 35: Hoare triple {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:05:49,889 INFO L290 TraceCheckUtils]: 34: Hoare triple {15994#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:05:49,889 INFO L290 TraceCheckUtils]: 33: Hoare triple {15994#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15994#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:05:51,890 WARN L290 TraceCheckUtils]: 32: Hoare triple {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15994#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is UNKNOWN [2022-04-15 15:05:51,891 INFO L290 TraceCheckUtils]: 31: Hoare triple {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} assume !(~c~0 >= ~b~0); {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} is VALID [2022-04-15 15:05:51,892 INFO L290 TraceCheckUtils]: 30: Hoare triple {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} assume !false; {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} is VALID [2022-04-15 15:05:51,892 INFO L290 TraceCheckUtils]: 29: Hoare triple {16011#(or (and (not (= 0 (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)))) (or (not (= (mod (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) 0)) (= main_~x~0 0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} is VALID [2022-04-15 15:05:51,893 INFO L290 TraceCheckUtils]: 28: Hoare triple {16011#(or (and (not (= 0 (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)))) (or (not (= (mod (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) 0)) (= main_~x~0 0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {16011#(or (and (not (= 0 (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)))) (or (not (= (mod (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) 0)) (= main_~x~0 0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:05:51,893 INFO L290 TraceCheckUtils]: 27: Hoare triple {15617#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16011#(or (and (not (= 0 (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)))) (or (not (= (mod (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) 0)) (= main_~x~0 0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:05:51,894 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15617#true} {15617#true} #100#return; {15617#true} is VALID [2022-04-15 15:05:51,894 INFO L290 TraceCheckUtils]: 25: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:51,894 INFO L290 TraceCheckUtils]: 24: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 15:05:51,894 INFO L290 TraceCheckUtils]: 23: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 15:05:51,894 INFO L272 TraceCheckUtils]: 22: Hoare triple {15617#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15617#true} is VALID [2022-04-15 15:05:51,894 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15617#true} {15617#true} #98#return; {15617#true} is VALID [2022-04-15 15:05:51,894 INFO L290 TraceCheckUtils]: 20: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:51,894 INFO L290 TraceCheckUtils]: 19: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 15:05:51,894 INFO L290 TraceCheckUtils]: 18: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 15:05:51,894 INFO L272 TraceCheckUtils]: 17: Hoare triple {15617#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15617#true} is VALID [2022-04-15 15:05:51,894 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15617#true} {15617#true} #96#return; {15617#true} is VALID [2022-04-15 15:05:51,894 INFO L290 TraceCheckUtils]: 15: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:51,894 INFO L290 TraceCheckUtils]: 14: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 15:05:51,894 INFO L290 TraceCheckUtils]: 13: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 15:05:51,895 INFO L272 TraceCheckUtils]: 12: Hoare triple {15617#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {15617#true} is VALID [2022-04-15 15:05:51,895 INFO L290 TraceCheckUtils]: 11: Hoare triple {15617#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15617#true} is VALID [2022-04-15 15:05:51,895 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15617#true} {15617#true} #94#return; {15617#true} is VALID [2022-04-15 15:05:51,895 INFO L290 TraceCheckUtils]: 9: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:51,895 INFO L290 TraceCheckUtils]: 8: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-15 15:05:51,895 INFO L290 TraceCheckUtils]: 7: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-15 15:05:51,895 INFO L272 TraceCheckUtils]: 6: Hoare triple {15617#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {15617#true} is VALID [2022-04-15 15:05:51,895 INFO L290 TraceCheckUtils]: 5: Hoare triple {15617#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {15617#true} is VALID [2022-04-15 15:05:51,895 INFO L272 TraceCheckUtils]: 4: Hoare triple {15617#true} call #t~ret6 := main(); {15617#true} is VALID [2022-04-15 15:05:51,895 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15617#true} {15617#true} #112#return; {15617#true} is VALID [2022-04-15 15:05:51,895 INFO L290 TraceCheckUtils]: 2: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-15 15:05:51,895 INFO L290 TraceCheckUtils]: 1: Hoare triple {15617#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(11, 2);call #Ultimate.allocInit(12, 3); {15617#true} is VALID [2022-04-15 15:05:51,895 INFO L272 TraceCheckUtils]: 0: Hoare triple {15617#true} call ULTIMATE.init(); {15617#true} is VALID [2022-04-15 15:05:51,896 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 21 proven. 21 refuted. 0 times theorem prover too weak. 54 trivial. 0 not checked. [2022-04-15 15:05:51,896 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:05:51,896 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1559226102] [2022-04-15 15:05:51,896 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:05:51,896 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [617827752] [2022-04-15 15:05:51,896 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [617827752] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:05:51,896 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:05:51,896 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13] total 23 [2022-04-15 15:05:51,897 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:05:51,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2129897894] [2022-04-15 15:05:51,897 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2129897894] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:05:51,897 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:05:51,897 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 15:05:51,897 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1972868114] [2022-04-15 15:05:51,897 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:05:51,897 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 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 77 [2022-04-15 15:05:51,898 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:05:51,898 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 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-15 15:05:51,950 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-15 15:05:51,950 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 15:05:51,950 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:05:51,951 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 15:05:51,951 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=419, Unknown=1, NotChecked=0, Total=506 [2022-04-15 15:05:51,951 INFO L87 Difference]: Start difference. First operand 214 states and 289 transitions. Second operand has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 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-15 15:05:54,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:54,763 INFO L93 Difference]: Finished difference Result 285 states and 377 transitions. [2022-04-15 15:05:54,763 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 15:05:54,763 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 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 77 [2022-04-15 15:05:54,763 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:05:54,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 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-15 15:05:54,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 148 transitions. [2022-04-15 15:05:54,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 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-15 15:05:54,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 148 transitions. [2022-04-15 15:05:54,767 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 148 transitions. [2022-04-15 15:05:54,924 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 148 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:05:54,929 INFO L225 Difference]: With dead ends: 285 [2022-04-15 15:05:54,929 INFO L226 Difference]: Without dead ends: 283 [2022-04-15 15:05:54,930 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 128 SyntacticMatches, 4 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 123 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=147, Invalid=722, Unknown=1, NotChecked=0, Total=870 [2022-04-15 15:05:54,930 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 61 mSDsluCounter, 281 mSDsCounter, 0 mSdLazyCounter, 690 mSolverCounterSat, 54 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 331 SdHoareTripleChecker+Invalid, 744 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 54 IncrementalHoareTripleChecker+Valid, 690 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-15 15:05:54,930 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [73 Valid, 331 Invalid, 744 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [54 Valid, 690 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-15 15:05:54,931 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 283 states. [2022-04-15 15:05:55,539 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 283 to 222. [2022-04-15 15:05:55,539 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:05:55,539 INFO L82 GeneralOperation]: Start isEquivalent. First operand 283 states. Second operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 15:05:55,540 INFO L74 IsIncluded]: Start isIncluded. First operand 283 states. Second operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 15:05:55,540 INFO L87 Difference]: Start difference. First operand 283 states. Second operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 15:05:55,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:55,545 INFO L93 Difference]: Finished difference Result 283 states and 375 transitions. [2022-04-15 15:05:55,545 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 375 transitions. [2022-04-15 15:05:55,546 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:05:55,546 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:05:55,546 INFO L74 IsIncluded]: Start isIncluded. First operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) Second operand 283 states. [2022-04-15 15:05:55,546 INFO L87 Difference]: Start difference. First operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) Second operand 283 states. [2022-04-15 15:05:55,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:05:55,551 INFO L93 Difference]: Finished difference Result 283 states and 375 transitions. [2022-04-15 15:05:55,552 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 375 transitions. [2022-04-15 15:05:55,552 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:05:55,552 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:05:55,552 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:05:55,552 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:05:55,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-15 15:05:55,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 222 states to 222 states and 295 transitions. [2022-04-15 15:05:55,557 INFO L78 Accepts]: Start accepts. Automaton has 222 states and 295 transitions. Word has length 77 [2022-04-15 15:05:55,557 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:05:55,557 INFO L478 AbstractCegarLoop]: Abstraction has 222 states and 295 transitions. [2022-04-15 15:05:55,557 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 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-15 15:05:55,557 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 222 states and 295 transitions. [2022-04-15 15:05:56,151 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 295 edges. 295 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:05:56,152 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 295 transitions. [2022-04-15 15:05:56,152 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 15:05:56,152 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:05:56,152 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:05:56,168 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-15 15:05:56,353 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-15 15:05:56,353 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:05:56,353 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:05:56,353 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 1 times [2022-04-15 15:05:56,353 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:05:56,353 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [936504097] [2022-04-15 15:05:56,354 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:05:56,354 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 2 times [2022-04-15 15:05:56,354 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:05:56,354 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [8505879] [2022-04-15 15:05:56,354 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:05:56,354 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:05:56,363 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:05:56,363 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [850600178] [2022-04-15 15:05:56,364 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:05:56,364 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:05:56,364 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:05:56,364 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-15 15:05:56,365 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-15 15:05:56,422 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:05:56,422 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:05:56,423 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 61 conjunts are in the unsatisfiable core [2022-04-15 15:05:56,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:05:56,435 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:05:57,173 INFO L272 TraceCheckUtils]: 0: Hoare triple {17695#true} call ULTIMATE.init(); {17695#true} is VALID [2022-04-15 15:05:57,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {17695#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(11, 2);call #Ultimate.allocInit(12, 3); {17695#true} is VALID [2022-04-15 15:05:57,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:05:57,174 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17695#true} {17695#true} #112#return; {17695#true} is VALID [2022-04-15 15:05:57,174 INFO L272 TraceCheckUtils]: 4: Hoare triple {17695#true} call #t~ret6 := main(); {17695#true} is VALID [2022-04-15 15:05:57,174 INFO L290 TraceCheckUtils]: 5: Hoare triple {17695#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {17695#true} is VALID [2022-04-15 15:05:57,174 INFO L272 TraceCheckUtils]: 6: Hoare triple {17695#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:05:57,174 INFO L290 TraceCheckUtils]: 7: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:05:57,174 INFO L290 TraceCheckUtils]: 8: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:05:57,174 INFO L290 TraceCheckUtils]: 9: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:05:57,174 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17695#true} {17695#true} #94#return; {17695#true} is VALID [2022-04-15 15:05:57,174 INFO L290 TraceCheckUtils]: 11: Hoare triple {17695#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17695#true} is VALID [2022-04-15 15:05:57,174 INFO L272 TraceCheckUtils]: 12: Hoare triple {17695#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:05:57,174 INFO L290 TraceCheckUtils]: 13: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:05:57,174 INFO L290 TraceCheckUtils]: 14: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:05:57,174 INFO L290 TraceCheckUtils]: 15: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:05:57,174 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17695#true} {17695#true} #96#return; {17695#true} is VALID [2022-04-15 15:05:57,174 INFO L272 TraceCheckUtils]: 17: Hoare triple {17695#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:05:57,175 INFO L290 TraceCheckUtils]: 18: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:05:57,175 INFO L290 TraceCheckUtils]: 19: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:05:57,175 INFO L290 TraceCheckUtils]: 20: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:05:57,175 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17695#true} {17695#true} #98#return; {17695#true} is VALID [2022-04-15 15:05:57,175 INFO L272 TraceCheckUtils]: 22: Hoare triple {17695#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:05:57,175 INFO L290 TraceCheckUtils]: 23: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:05:57,175 INFO L290 TraceCheckUtils]: 24: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:05:57,175 INFO L290 TraceCheckUtils]: 25: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:05:57,175 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17695#true} {17695#true} #100#return; {17695#true} is VALID [2022-04-15 15:05:57,178 INFO L290 TraceCheckUtils]: 27: Hoare triple {17695#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17781#(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-15 15:05:57,178 INFO L290 TraceCheckUtils]: 28: Hoare triple {17781#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {17781#(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-15 15:05:57,178 INFO L290 TraceCheckUtils]: 29: Hoare triple {17781#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {17788#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,179 INFO L290 TraceCheckUtils]: 30: Hoare triple {17788#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {17788#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,179 INFO L290 TraceCheckUtils]: 31: Hoare triple {17788#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,180 INFO L290 TraceCheckUtils]: 32: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,180 INFO L272 TraceCheckUtils]: 33: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~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)); {17695#true} is VALID [2022-04-15 15:05:57,180 INFO L290 TraceCheckUtils]: 34: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:05:57,180 INFO L290 TraceCheckUtils]: 35: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:05:57,180 INFO L290 TraceCheckUtils]: 36: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:05:57,181 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {17695#true} {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,181 INFO L272 TraceCheckUtils]: 38: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~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)); {17695#true} is VALID [2022-04-15 15:05:57,181 INFO L290 TraceCheckUtils]: 39: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:05:57,181 INFO L290 TraceCheckUtils]: 40: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:05:57,181 INFO L290 TraceCheckUtils]: 41: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:05:57,182 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17695#true} {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,182 INFO L272 TraceCheckUtils]: 43: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:05:57,182 INFO L290 TraceCheckUtils]: 44: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:05:57,182 INFO L290 TraceCheckUtils]: 45: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:05:57,182 INFO L290 TraceCheckUtils]: 46: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:05:57,183 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17695#true} {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,183 INFO L272 TraceCheckUtils]: 48: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:05:57,183 INFO L290 TraceCheckUtils]: 49: Hoare triple {17695#true} ~cond := #in~cond; {17850#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:05:57,184 INFO L290 TraceCheckUtils]: 50: Hoare triple {17850#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:57,184 INFO L290 TraceCheckUtils]: 51: Hoare triple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:57,185 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,185 INFO L290 TraceCheckUtils]: 53: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,185 INFO L290 TraceCheckUtils]: 54: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,186 INFO L272 TraceCheckUtils]: 55: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~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)); {17695#true} is VALID [2022-04-15 15:05:57,186 INFO L290 TraceCheckUtils]: 56: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:05:57,186 INFO L290 TraceCheckUtils]: 57: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:05:57,186 INFO L290 TraceCheckUtils]: 58: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:05:57,187 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17695#true} {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,187 INFO L272 TraceCheckUtils]: 60: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~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)); {17695#true} is VALID [2022-04-15 15:05:57,187 INFO L290 TraceCheckUtils]: 61: Hoare triple {17695#true} ~cond := #in~cond; {17850#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:05:57,187 INFO L290 TraceCheckUtils]: 62: Hoare triple {17850#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:57,188 INFO L290 TraceCheckUtils]: 63: Hoare triple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:05:57,188 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,188 INFO L272 TraceCheckUtils]: 65: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:05:57,188 INFO L290 TraceCheckUtils]: 66: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:05:57,188 INFO L290 TraceCheckUtils]: 67: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:05:57,189 INFO L290 TraceCheckUtils]: 68: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:05:57,189 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {17695#true} {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,189 INFO L272 TraceCheckUtils]: 70: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:05:57,189 INFO L290 TraceCheckUtils]: 71: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:05:57,190 INFO L290 TraceCheckUtils]: 72: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:05:57,190 INFO L290 TraceCheckUtils]: 73: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:05:57,190 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {17695#true} {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,191 INFO L290 TraceCheckUtils]: 75: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,192 INFO L290 TraceCheckUtils]: 76: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,192 INFO L290 TraceCheckUtils]: 77: Hoare triple {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} assume !false; {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,192 INFO L290 TraceCheckUtils]: 78: Hoare triple {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-15 15:05:57,193 INFO L290 TraceCheckUtils]: 79: Hoare triple {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {17944#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-15 15:05:57,193 INFO L290 TraceCheckUtils]: 80: Hoare triple {17944#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))))} assume !false; {17944#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-15 15:05:57,194 INFO L290 TraceCheckUtils]: 81: Hoare triple {17944#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))))} assume !(0 != ~b~0); {17951#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 2) main_~y~0)) 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1))} is VALID [2022-04-15 15:05:57,195 INFO L272 TraceCheckUtils]: 82: Hoare triple {17951#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 2) main_~y~0)) 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {17955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:05:57,195 INFO L290 TraceCheckUtils]: 83: Hoare triple {17955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:05:57,195 INFO L290 TraceCheckUtils]: 84: Hoare triple {17959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17696#false} is VALID [2022-04-15 15:05:57,195 INFO L290 TraceCheckUtils]: 85: Hoare triple {17696#false} assume !false; {17696#false} is VALID [2022-04-15 15:05:57,196 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 35 proven. 27 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-15 15:05:57,196 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:07:02,866 INFO L290 TraceCheckUtils]: 85: Hoare triple {17696#false} assume !false; {17696#false} is VALID [2022-04-15 15:07:02,866 INFO L290 TraceCheckUtils]: 84: Hoare triple {17959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17696#false} is VALID [2022-04-15 15:07:02,867 INFO L290 TraceCheckUtils]: 83: Hoare triple {17955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:07:02,868 INFO L272 TraceCheckUtils]: 82: Hoare triple {17975#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {17955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:07:02,868 INFO L290 TraceCheckUtils]: 81: Hoare triple {17979#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {17975#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:07:02,868 INFO L290 TraceCheckUtils]: 80: Hoare triple {17979#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {17979#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-15 15:07:03,018 INFO L290 TraceCheckUtils]: 79: Hoare triple {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {17979#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-15 15:07:03,018 INFO L290 TraceCheckUtils]: 78: Hoare triple {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:07:03,019 INFO L290 TraceCheckUtils]: 77: Hoare triple {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:07:03,303 INFO L290 TraceCheckUtils]: 76: Hoare triple {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:07:03,304 INFO L290 TraceCheckUtils]: 75: Hoare triple {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:07:03,304 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {17695#true} {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:07:03,304 INFO L290 TraceCheckUtils]: 73: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:07:03,305 INFO L290 TraceCheckUtils]: 72: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:07:03,305 INFO L290 TraceCheckUtils]: 71: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:07:03,305 INFO L272 TraceCheckUtils]: 70: Hoare triple {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:07:03,305 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {17695#true} {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:07:03,306 INFO L290 TraceCheckUtils]: 68: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:07:03,306 INFO L290 TraceCheckUtils]: 67: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:07:03,306 INFO L290 TraceCheckUtils]: 66: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:07:03,306 INFO L272 TraceCheckUtils]: 65: Hoare triple {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:07:03,307 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:07:03,307 INFO L290 TraceCheckUtils]: 63: Hoare triple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:07:03,307 INFO L290 TraceCheckUtils]: 62: Hoare triple {18043#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:07:03,308 INFO L290 TraceCheckUtils]: 61: Hoare triple {17695#true} ~cond := #in~cond; {18043#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:07:03,308 INFO L272 TraceCheckUtils]: 60: Hoare triple {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {17695#true} is VALID [2022-04-15 15:07:03,309 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17695#true} {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:07:03,309 INFO L290 TraceCheckUtils]: 58: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:07:03,309 INFO L290 TraceCheckUtils]: 57: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:07:03,309 INFO L290 TraceCheckUtils]: 56: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:07:03,309 INFO L272 TraceCheckUtils]: 55: Hoare triple {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {17695#true} is VALID [2022-04-15 15:07:03,309 INFO L290 TraceCheckUtils]: 54: Hoare triple {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:07:03,386 INFO L290 TraceCheckUtils]: 53: Hoare triple {18068#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:07:03,388 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #108#return; {18068#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-15 15:07:03,388 INFO L290 TraceCheckUtils]: 51: Hoare triple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:07:03,388 INFO L290 TraceCheckUtils]: 50: Hoare triple {18043#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:07:03,389 INFO L290 TraceCheckUtils]: 49: Hoare triple {17695#true} ~cond := #in~cond; {18043#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:07:03,389 INFO L272 TraceCheckUtils]: 48: Hoare triple {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:07:03,389 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17695#true} {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #106#return; {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 15:07:03,389 INFO L290 TraceCheckUtils]: 46: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:07:03,390 INFO L290 TraceCheckUtils]: 45: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:07:03,390 INFO L290 TraceCheckUtils]: 44: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:07:03,390 INFO L272 TraceCheckUtils]: 43: Hoare triple {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:07:03,390 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17695#true} {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #104#return; {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 15:07:03,391 INFO L290 TraceCheckUtils]: 41: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:07:03,391 INFO L290 TraceCheckUtils]: 40: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:07:03,391 INFO L290 TraceCheckUtils]: 39: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:07:03,391 INFO L272 TraceCheckUtils]: 38: Hoare triple {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:07:03,392 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {17695#true} {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #102#return; {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 15:07:03,392 INFO L290 TraceCheckUtils]: 36: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:07:03,392 INFO L290 TraceCheckUtils]: 35: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:07:03,392 INFO L290 TraceCheckUtils]: 34: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:07:03,392 INFO L272 TraceCheckUtils]: 33: Hoare triple {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:07:03,392 INFO L290 TraceCheckUtils]: 32: Hoare triple {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} assume !false; {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 15:07:03,393 INFO L290 TraceCheckUtils]: 31: Hoare triple {18136#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (* main_~b~0 2))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 15:07:03,394 INFO L290 TraceCheckUtils]: 30: Hoare triple {18136#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (* main_~b~0 2))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !false; {18136#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (* main_~b~0 2))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-15 15:07:03,394 INFO L290 TraceCheckUtils]: 29: Hoare triple {18143#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {18136#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (* main_~b~0 2))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-15 15:07:03,395 INFO L290 TraceCheckUtils]: 28: Hoare triple {18143#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {18143#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:07:03,395 INFO L290 TraceCheckUtils]: 27: Hoare triple {17695#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {18143#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:07:03,395 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17695#true} {17695#true} #100#return; {17695#true} is VALID [2022-04-15 15:07:03,395 INFO L290 TraceCheckUtils]: 25: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:07:03,395 INFO L290 TraceCheckUtils]: 24: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:07:03,395 INFO L290 TraceCheckUtils]: 23: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:07:03,396 INFO L272 TraceCheckUtils]: 22: Hoare triple {17695#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:07:03,396 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17695#true} {17695#true} #98#return; {17695#true} is VALID [2022-04-15 15:07:03,396 INFO L290 TraceCheckUtils]: 20: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:07:03,396 INFO L290 TraceCheckUtils]: 19: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:07:03,396 INFO L290 TraceCheckUtils]: 18: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:07:03,396 INFO L272 TraceCheckUtils]: 17: Hoare triple {17695#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:07:03,396 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17695#true} {17695#true} #96#return; {17695#true} is VALID [2022-04-15 15:07:03,396 INFO L290 TraceCheckUtils]: 15: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:07:03,396 INFO L290 TraceCheckUtils]: 14: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:07:03,396 INFO L290 TraceCheckUtils]: 13: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:07:03,396 INFO L272 TraceCheckUtils]: 12: Hoare triple {17695#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:07:03,396 INFO L290 TraceCheckUtils]: 11: Hoare triple {17695#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17695#true} is VALID [2022-04-15 15:07:03,396 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17695#true} {17695#true} #94#return; {17695#true} is VALID [2022-04-15 15:07:03,396 INFO L290 TraceCheckUtils]: 9: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:07:03,397 INFO L290 TraceCheckUtils]: 8: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-15 15:07:03,397 INFO L290 TraceCheckUtils]: 7: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-15 15:07:03,397 INFO L272 TraceCheckUtils]: 6: Hoare triple {17695#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {17695#true} is VALID [2022-04-15 15:07:03,397 INFO L290 TraceCheckUtils]: 5: Hoare triple {17695#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {17695#true} is VALID [2022-04-15 15:07:03,397 INFO L272 TraceCheckUtils]: 4: Hoare triple {17695#true} call #t~ret6 := main(); {17695#true} is VALID [2022-04-15 15:07:03,397 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17695#true} {17695#true} #112#return; {17695#true} is VALID [2022-04-15 15:07:03,397 INFO L290 TraceCheckUtils]: 2: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-15 15:07:03,397 INFO L290 TraceCheckUtils]: 1: Hoare triple {17695#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(11, 2);call #Ultimate.allocInit(12, 3); {17695#true} is VALID [2022-04-15 15:07:03,397 INFO L272 TraceCheckUtils]: 0: Hoare triple {17695#true} call ULTIMATE.init(); {17695#true} is VALID [2022-04-15 15:07:03,398 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 35 proven. 27 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-15 15:07:03,398 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:07:03,398 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [8505879] [2022-04-15 15:07:03,398 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:07:03,398 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [850600178] [2022-04-15 15:07:03,398 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [850600178] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:07:03,398 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:07:03,398 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 15] total 23 [2022-04-15 15:07:03,398 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:07:03,398 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [936504097] [2022-04-15 15:07:03,398 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [936504097] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:07:03,398 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:07:03,398 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 15:07:03,399 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [354657584] [2022-04-15 15:07:03,399 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:07:03,399 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 86 [2022-04-15 15:07:03,399 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:07:03,399 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 15:07:03,451 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-15 15:07:03,451 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 15:07:03,451 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:07:03,451 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 15:07:03,452 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-15 15:07:03,452 INFO L87 Difference]: Start difference. First operand 222 states and 295 transitions. Second operand has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 15:07:06,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:07:06,422 INFO L93 Difference]: Finished difference Result 309 states and 417 transitions. [2022-04-15 15:07:06,422 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 15:07:06,422 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 86 [2022-04-15 15:07:06,422 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:07:06,422 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 15:07:06,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 143 transitions. [2022-04-15 15:07:06,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 15:07:06,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 143 transitions. [2022-04-15 15:07:06,425 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 143 transitions. [2022-04-15 15:07:06,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:07:06,618 INFO L225 Difference]: With dead ends: 309 [2022-04-15 15:07:06,618 INFO L226 Difference]: Without dead ends: 306 [2022-04-15 15:07:06,618 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 178 GetRequests, 148 SyntacticMatches, 2 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 120 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=143, Invalid=727, Unknown=0, NotChecked=0, Total=870 [2022-04-15 15:07:06,619 INFO L913 BasicCegarLoop]: 52 mSDtfsCounter, 57 mSDsluCounter, 242 mSDsCounter, 0 mSdLazyCounter, 669 mSolverCounterSat, 77 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 294 SdHoareTripleChecker+Invalid, 746 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 77 IncrementalHoareTripleChecker+Valid, 669 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 15:07:06,619 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [65 Valid, 294 Invalid, 746 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [77 Valid, 669 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 15:07:06,619 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 306 states. [2022-04-15 15:07:07,305 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 306 to 287. [2022-04-15 15:07:07,305 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:07:07,306 INFO L82 GeneralOperation]: Start isEquivalent. First operand 306 states. Second operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) [2022-04-15 15:07:07,306 INFO L74 IsIncluded]: Start isIncluded. First operand 306 states. Second operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) [2022-04-15 15:07:07,307 INFO L87 Difference]: Start difference. First operand 306 states. Second operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) [2022-04-15 15:07:07,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:07:07,314 INFO L93 Difference]: Finished difference Result 306 states and 413 transitions. [2022-04-15 15:07:07,314 INFO L276 IsEmpty]: Start isEmpty. Operand 306 states and 413 transitions. [2022-04-15 15:07:07,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:07:07,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:07:07,315 INFO L74 IsIncluded]: Start isIncluded. First operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) Second operand 306 states. [2022-04-15 15:07:07,315 INFO L87 Difference]: Start difference. First operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) Second operand 306 states. [2022-04-15 15:07:07,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:07:07,321 INFO L93 Difference]: Finished difference Result 306 states and 413 transitions. [2022-04-15 15:07:07,321 INFO L276 IsEmpty]: Start isEmpty. Operand 306 states and 413 transitions. [2022-04-15 15:07:07,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:07:07,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:07:07,322 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:07:07,322 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:07:07,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) [2022-04-15 15:07:07,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 287 states to 287 states and 394 transitions. [2022-04-15 15:07:07,329 INFO L78 Accepts]: Start accepts. Automaton has 287 states and 394 transitions. Word has length 86 [2022-04-15 15:07:07,329 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:07:07,329 INFO L478 AbstractCegarLoop]: Abstraction has 287 states and 394 transitions. [2022-04-15 15:07:07,329 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 15:07:07,329 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 287 states and 394 transitions. [2022-04-15 15:07:08,116 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 394 edges. 394 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:07:08,116 INFO L276 IsEmpty]: Start isEmpty. Operand 287 states and 394 transitions. [2022-04-15 15:07:08,117 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-15 15:07:08,117 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:07:08,117 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:07:08,133 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-15 15:07:08,318 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:07:08,318 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:07:08,318 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:07:08,318 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 3 times [2022-04-15 15:07:08,318 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:07:08,318 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [52643524] [2022-04-15 15:07:08,319 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:07:08,319 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 4 times [2022-04-15 15:07:08,319 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:07:08,319 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [570858078] [2022-04-15 15:07:08,319 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:07:08,319 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:07:08,329 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:07:08,329 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [296053856] [2022-04-15 15:07:08,329 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:07:08,329 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:07:08,329 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:07:08,330 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-15 15:07:08,331 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-15 15:07:08,376 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:07:08,376 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:07:08,377 INFO L263 TraceCheckSpWp]: Trace formula consists of 202 conjuncts, 76 conjunts are in the unsatisfiable core [2022-04-15 15:07:08,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:07:08,393 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:07:18,914 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:07:23,463 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:07:52,264 INFO L272 TraceCheckUtils]: 0: Hoare triple {20051#true} call ULTIMATE.init(); {20051#true} is VALID [2022-04-15 15:07:52,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {20051#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(11, 2);call #Ultimate.allocInit(12, 3); {20051#true} is VALID [2022-04-15 15:07:52,264 INFO L290 TraceCheckUtils]: 2: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 15:07:52,264 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20051#true} {20051#true} #112#return; {20051#true} is VALID [2022-04-15 15:07:52,264 INFO L272 TraceCheckUtils]: 4: Hoare triple {20051#true} call #t~ret6 := main(); {20051#true} is VALID [2022-04-15 15:07:52,264 INFO L290 TraceCheckUtils]: 5: Hoare triple {20051#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {20051#true} is VALID [2022-04-15 15:07:52,264 INFO L272 TraceCheckUtils]: 6: Hoare triple {20051#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {20051#true} is VALID [2022-04-15 15:07:52,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 15:07:52,265 INFO L290 TraceCheckUtils]: 8: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 15:07:52,265 INFO L290 TraceCheckUtils]: 9: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 15:07:52,265 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20051#true} {20051#true} #94#return; {20051#true} is VALID [2022-04-15 15:07:52,265 INFO L290 TraceCheckUtils]: 11: Hoare triple {20051#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20051#true} is VALID [2022-04-15 15:07:52,265 INFO L272 TraceCheckUtils]: 12: Hoare triple {20051#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {20051#true} is VALID [2022-04-15 15:07:52,265 INFO L290 TraceCheckUtils]: 13: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 15:07:52,265 INFO L290 TraceCheckUtils]: 14: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 15:07:52,265 INFO L290 TraceCheckUtils]: 15: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 15:07:52,265 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20051#true} {20051#true} #96#return; {20051#true} is VALID [2022-04-15 15:07:52,265 INFO L272 TraceCheckUtils]: 17: Hoare triple {20051#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20051#true} is VALID [2022-04-15 15:07:52,265 INFO L290 TraceCheckUtils]: 18: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 15:07:52,265 INFO L290 TraceCheckUtils]: 19: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 15:07:52,265 INFO L290 TraceCheckUtils]: 20: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 15:07:52,266 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20051#true} {20051#true} #98#return; {20051#true} is VALID [2022-04-15 15:07:52,266 INFO L272 TraceCheckUtils]: 22: Hoare triple {20051#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20051#true} is VALID [2022-04-15 15:07:52,266 INFO L290 TraceCheckUtils]: 23: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 15:07:52,266 INFO L290 TraceCheckUtils]: 24: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 15:07:52,266 INFO L290 TraceCheckUtils]: 25: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 15:07:52,266 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20051#true} {20051#true} #100#return; {20051#true} is VALID [2022-04-15 15:07:52,266 INFO L290 TraceCheckUtils]: 27: Hoare triple {20051#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {20137#(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-15 15:07:52,267 INFO L290 TraceCheckUtils]: 28: Hoare triple {20137#(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 !false; {20137#(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-15 15:07:52,267 INFO L290 TraceCheckUtils]: 29: Hoare triple {20137#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:07:52,267 INFO L290 TraceCheckUtils]: 30: Hoare triple {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:07:52,268 INFO L290 TraceCheckUtils]: 31: Hoare triple {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:07:52,268 INFO L290 TraceCheckUtils]: 32: Hoare triple {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20154#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:07:52,269 INFO L290 TraceCheckUtils]: 33: Hoare triple {20154#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {20154#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:07:52,269 INFO L290 TraceCheckUtils]: 34: Hoare triple {20154#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {20161#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:07:52,270 INFO L290 TraceCheckUtils]: 35: Hoare triple {20161#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {20161#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:07:52,270 INFO L290 TraceCheckUtils]: 36: Hoare triple {20161#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:07:52,270 INFO L290 TraceCheckUtils]: 37: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:07:52,270 INFO L272 TraceCheckUtils]: 38: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20051#true} is VALID [2022-04-15 15:07:52,271 INFO L290 TraceCheckUtils]: 39: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 15:07:52,271 INFO L290 TraceCheckUtils]: 40: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 15:07:52,271 INFO L290 TraceCheckUtils]: 41: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 15:07:52,271 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20051#true} {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #102#return; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:07:52,272 INFO L272 TraceCheckUtils]: 43: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20051#true} is VALID [2022-04-15 15:07:52,272 INFO L290 TraceCheckUtils]: 44: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 15:07:52,272 INFO L290 TraceCheckUtils]: 45: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 15:07:52,272 INFO L290 TraceCheckUtils]: 46: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 15:07:52,272 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20051#true} {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #104#return; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:07:52,273 INFO L272 TraceCheckUtils]: 48: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20051#true} is VALID [2022-04-15 15:07:52,273 INFO L290 TraceCheckUtils]: 49: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 15:07:52,273 INFO L290 TraceCheckUtils]: 50: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 15:07:52,273 INFO L290 TraceCheckUtils]: 51: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 15:07:52,274 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20051#true} {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #106#return; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:07:52,274 INFO L272 TraceCheckUtils]: 53: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20051#true} is VALID [2022-04-15 15:07:52,274 INFO L290 TraceCheckUtils]: 54: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 15:07:52,274 INFO L290 TraceCheckUtils]: 55: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 15:07:52,274 INFO L290 TraceCheckUtils]: 56: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 15:07:52,275 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {20051#true} {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #108#return; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:07:52,276 INFO L290 TraceCheckUtils]: 58: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {20235#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-15 15:07:52,276 INFO L290 TraceCheckUtils]: 59: Hoare triple {20235#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} assume !false; {20235#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-15 15:07:52,276 INFO L272 TraceCheckUtils]: 60: Hoare triple {20235#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20051#true} is VALID [2022-04-15 15:07:52,276 INFO L290 TraceCheckUtils]: 61: Hoare triple {20051#true} ~cond := #in~cond; {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:07:52,277 INFO L290 TraceCheckUtils]: 62: Hoare triple {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:07:52,277 INFO L290 TraceCheckUtils]: 63: Hoare triple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:07:52,278 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} {20235#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} #102#return; {20256#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:07:52,278 INFO L272 TraceCheckUtils]: 65: Hoare triple {20256#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~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)); {20051#true} is VALID [2022-04-15 15:07:52,278 INFO L290 TraceCheckUtils]: 66: Hoare triple {20051#true} ~cond := #in~cond; {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:07:52,279 INFO L290 TraceCheckUtils]: 67: Hoare triple {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:07:52,279 INFO L290 TraceCheckUtils]: 68: Hoare triple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:07:52,280 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} {20256#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:07:52,280 INFO L272 TraceCheckUtils]: 70: Hoare triple {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20051#true} is VALID [2022-04-15 15:07:52,280 INFO L290 TraceCheckUtils]: 71: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-15 15:07:52,280 INFO L290 TraceCheckUtils]: 72: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-15 15:07:52,280 INFO L290 TraceCheckUtils]: 73: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-15 15:07:52,281 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {20051#true} {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:07:52,281 INFO L272 TraceCheckUtils]: 75: Hoare triple {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20051#true} is VALID [2022-04-15 15:07:52,282 INFO L290 TraceCheckUtils]: 76: Hoare triple {20051#true} ~cond := #in~cond; {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:07:52,282 INFO L290 TraceCheckUtils]: 77: Hoare triple {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:07:52,282 INFO L290 TraceCheckUtils]: 78: Hoare triple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:07:52,283 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {20303#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:07:52,284 INFO L290 TraceCheckUtils]: 80: Hoare triple {20303#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {20303#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:07:52,286 INFO L290 TraceCheckUtils]: 81: Hoare triple {20303#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-15 15:07:52,287 INFO L290 TraceCheckUtils]: 82: Hoare triple {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} assume !false; {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-15 15:07:52,287 INFO L290 TraceCheckUtils]: 83: Hoare triple {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} assume !(~c~0 >= ~b~0); {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-15 15:07:54,290 WARN L290 TraceCheckUtils]: 84: Hoare triple {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20320#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (or (and (= (+ main_~b~0 (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0) (not (= main_~a~0 0))) (and (= main_~a~0 0) (or (and (exists ((aux_div_main_~k~0_17 Int)) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* 2 (* main_~p~0 main_~x~0 aux_div_main_~k~0_17))) (+ main_~b~0 (* (* main_~a~0 aux_div_main_~k~0_17) 2)))) (= (mod main_~q~0 2) 0) (= (div (* (- 1) main_~q~0) 2) 0)) (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0) (+ (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) main_~b~0)))))))} is UNKNOWN [2022-04-15 15:07:54,292 INFO L290 TraceCheckUtils]: 85: Hoare triple {20320#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (or (and (= (+ main_~b~0 (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0) (not (= main_~a~0 0))) (and (= main_~a~0 0) (or (and (exists ((aux_div_main_~k~0_17 Int)) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* 2 (* main_~p~0 main_~x~0 aux_div_main_~k~0_17))) (+ main_~b~0 (* (* main_~a~0 aux_div_main_~k~0_17) 2)))) (= (mod main_~q~0 2) 0) (= (div (* (- 1) main_~q~0) 2) 0)) (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0) (+ (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) main_~b~0)))))))} assume !false; {20320#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (or (and (= (+ main_~b~0 (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0) (not (= main_~a~0 0))) (and (= main_~a~0 0) (or (and (exists ((aux_div_main_~k~0_17 Int)) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* 2 (* main_~p~0 main_~x~0 aux_div_main_~k~0_17))) (+ main_~b~0 (* (* main_~a~0 aux_div_main_~k~0_17) 2)))) (= (mod main_~q~0 2) 0) (= (div (* (- 1) main_~q~0) 2) 0)) (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0) (+ (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) main_~b~0)))))))} is VALID [2022-04-15 15:07:54,294 INFO L290 TraceCheckUtils]: 86: Hoare triple {20320#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (or (and (= (+ main_~b~0 (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0) (not (= main_~a~0 0))) (and (= main_~a~0 0) (or (and (exists ((aux_div_main_~k~0_17 Int)) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* 2 (* main_~p~0 main_~x~0 aux_div_main_~k~0_17))) (+ main_~b~0 (* (* main_~a~0 aux_div_main_~k~0_17) 2)))) (= (mod main_~q~0 2) 0) (= (div (* (- 1) main_~q~0) 2) 0)) (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0) (+ (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) main_~b~0)))))))} assume !(0 != ~b~0); {20327#(and (= main_~r~0 0) (or (and (= main_~a~0 0) (or (and (not (= main_~p~0 0)) (= (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0)) (and (= (mod main_~q~0 2) 0) (exists ((aux_div_main_~k~0_17 Int)) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* 2 (* main_~p~0 main_~x~0 aux_div_main_~k~0_17))) (* (* main_~a~0 aux_div_main_~k~0_17) 2))) (= (div (* (- 1) main_~q~0) 2) 0)))) (and (= (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0) (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0) (not (= main_~a~0 0)))) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 15:07:54,304 INFO L272 TraceCheckUtils]: 87: Hoare triple {20327#(and (= main_~r~0 0) (or (and (= main_~a~0 0) (or (and (not (= main_~p~0 0)) (= (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0)) (and (= (mod main_~q~0 2) 0) (exists ((aux_div_main_~k~0_17 Int)) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* 2 (* main_~p~0 main_~x~0 aux_div_main_~k~0_17))) (* (* main_~a~0 aux_div_main_~k~0_17) 2))) (= (div (* (- 1) main_~q~0) 2) 0)))) (and (= (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0) (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0) (not (= main_~a~0 0)))) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {20331#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:07:54,304 INFO L290 TraceCheckUtils]: 88: Hoare triple {20331#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20335#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:07:54,305 INFO L290 TraceCheckUtils]: 89: Hoare triple {20335#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20052#false} is VALID [2022-04-15 15:07:54,305 INFO L290 TraceCheckUtils]: 90: Hoare triple {20052#false} assume !false; {20052#false} is VALID [2022-04-15 15:07:54,305 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 52 proven. 28 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2022-04-15 15:07:54,305 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:09:15,476 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:09:18,394 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:09:18,394 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [570858078] [2022-04-15 15:09:18,394 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:09:18,395 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [296053856] [2022-04-15 15:09:18,395 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [296053856] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 15:09:18,395 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:09:18,395 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2022-04-15 15:09:18,395 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:09:18,395 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [52643524] [2022-04-15 15:09:18,395 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [52643524] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:09:18,395 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:09:18,395 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-15 15:09:18,395 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [42032680] [2022-04-15 15:09:18,395 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:09:18,396 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 91 [2022-04-15 15:09:18,396 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:09:18,396 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 15:09:20,470 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 63 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 15:09:20,470 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-15 15:09:20,470 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:09:20,471 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-15 15:09:20,471 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=595, Unknown=0, NotChecked=0, Total=702 [2022-04-15 15:09:20,471 INFO L87 Difference]: Start difference. First operand 287 states and 394 transitions. Second operand has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 15:09:25,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:09:25,235 INFO L93 Difference]: Finished difference Result 342 states and 465 transitions. [2022-04-15 15:09:25,235 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 15:09:25,236 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 91 [2022-04-15 15:09:25,236 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:09:25,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 15:09:25,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 164 transitions. [2022-04-15 15:09:25,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 15:09:25,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 164 transitions. [2022-04-15 15:09:25,239 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 164 transitions. [2022-04-15 15:09:27,435 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 163 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 15:09:27,442 INFO L225 Difference]: With dead ends: 342 [2022-04-15 15:09:27,442 INFO L226 Difference]: Without dead ends: 339 [2022-04-15 15:09:27,443 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 98 SyntacticMatches, 1 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 197 ImplicationChecksByTransitivity, 10.8s TimeCoverageRelationStatistics Valid=166, Invalid=890, Unknown=0, NotChecked=0, Total=1056 [2022-04-15 15:09:27,444 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 66 mSDsluCounter, 384 mSDsCounter, 0 mSdLazyCounter, 894 mSolverCounterSat, 60 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 80 SdHoareTripleChecker+Valid, 437 SdHoareTripleChecker+Invalid, 1196 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 60 IncrementalHoareTripleChecker+Valid, 894 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 242 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-15 15:09:27,444 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [80 Valid, 437 Invalid, 1196 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [60 Valid, 894 Invalid, 0 Unknown, 242 Unchecked, 1.6s Time] [2022-04-15 15:09:27,445 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 339 states. [2022-04-15 15:09:28,483 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 339 to 316. [2022-04-15 15:09:28,483 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:09:28,484 INFO L82 GeneralOperation]: Start isEquivalent. First operand 339 states. Second operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-15 15:09:28,484 INFO L74 IsIncluded]: Start isIncluded. First operand 339 states. Second operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-15 15:09:28,485 INFO L87 Difference]: Start difference. First operand 339 states. Second operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-15 15:09:28,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:09:28,491 INFO L93 Difference]: Finished difference Result 339 states and 461 transitions. [2022-04-15 15:09:28,491 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 461 transitions. [2022-04-15 15:09:28,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:09:28,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:09:28,493 INFO L74 IsIncluded]: Start isIncluded. First operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) Second operand 339 states. [2022-04-15 15:09:28,493 INFO L87 Difference]: Start difference. First operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) Second operand 339 states. [2022-04-15 15:09:28,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:09:28,500 INFO L93 Difference]: Finished difference Result 339 states and 461 transitions. [2022-04-15 15:09:28,500 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 461 transitions. [2022-04-15 15:09:28,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:09:28,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:09:28,501 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:09:28,501 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:09:28,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-15 15:09:28,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 316 states to 316 states and 437 transitions. [2022-04-15 15:09:28,509 INFO L78 Accepts]: Start accepts. Automaton has 316 states and 437 transitions. Word has length 91 [2022-04-15 15:09:28,509 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:09:28,509 INFO L478 AbstractCegarLoop]: Abstraction has 316 states and 437 transitions. [2022-04-15 15:09:28,510 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 15:09:28,510 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 316 states and 437 transitions. [2022-04-15 15:09:29,578 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 437 edges. 437 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:09:29,578 INFO L276 IsEmpty]: Start isEmpty. Operand 316 states and 437 transitions. [2022-04-15 15:09:29,579 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-15 15:09:29,579 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:09:29,579 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 4, 4, 4, 4, 3, 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, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:09:29,610 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-15 15:09:29,779 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-15 15:09:29,780 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:09:29,780 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:09:29,780 INFO L85 PathProgramCache]: Analyzing trace with hash 1983923522, now seen corresponding path program 1 times [2022-04-15 15:09:29,780 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:09:29,780 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1755815486] [2022-04-15 15:09:29,781 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:09:29,781 INFO L85 PathProgramCache]: Analyzing trace with hash 1983923522, now seen corresponding path program 2 times [2022-04-15 15:09:29,781 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:09:29,781 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1750389022] [2022-04-15 15:09:29,781 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:09:29,781 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:09:29,791 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:09:29,791 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1475286732] [2022-04-15 15:09:29,791 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:09:29,791 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:09:29,791 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:09:29,792 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-15 15:09:29,793 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-15 15:09:29,847 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:09:29,847 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:09:29,848 INFO L263 TraceCheckSpWp]: Trace formula consists of 260 conjuncts, 90 conjunts are in the unsatisfiable core [2022-04-15 15:09:29,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:09:29,866 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:09:32,384 INFO L272 TraceCheckUtils]: 0: Hoare triple {22458#true} call ULTIMATE.init(); {22458#true} is VALID [2022-04-15 15:09:32,385 INFO L290 TraceCheckUtils]: 1: Hoare triple {22458#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(11, 2);call #Ultimate.allocInit(12, 3); {22458#true} is VALID [2022-04-15 15:09:32,385 INFO L290 TraceCheckUtils]: 2: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:09:32,385 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22458#true} {22458#true} #112#return; {22458#true} is VALID [2022-04-15 15:09:32,385 INFO L272 TraceCheckUtils]: 4: Hoare triple {22458#true} call #t~ret6 := main(); {22458#true} is VALID [2022-04-15 15:09:32,385 INFO L290 TraceCheckUtils]: 5: Hoare triple {22458#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {22458#true} is VALID [2022-04-15 15:09:32,385 INFO L272 TraceCheckUtils]: 6: Hoare triple {22458#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:09:32,385 INFO L290 TraceCheckUtils]: 7: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:09:32,385 INFO L290 TraceCheckUtils]: 8: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:09:32,385 INFO L290 TraceCheckUtils]: 9: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:09:32,385 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22458#true} {22458#true} #94#return; {22458#true} is VALID [2022-04-15 15:09:32,385 INFO L290 TraceCheckUtils]: 11: Hoare triple {22458#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22458#true} is VALID [2022-04-15 15:09:32,385 INFO L272 TraceCheckUtils]: 12: Hoare triple {22458#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:09:32,385 INFO L290 TraceCheckUtils]: 13: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:09:32,386 INFO L290 TraceCheckUtils]: 14: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:09:32,386 INFO L290 TraceCheckUtils]: 15: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:09:32,386 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {22458#true} {22458#true} #96#return; {22458#true} is VALID [2022-04-15 15:09:32,393 INFO L272 TraceCheckUtils]: 17: Hoare triple {22458#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:09:32,394 INFO L290 TraceCheckUtils]: 18: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:09:32,394 INFO L290 TraceCheckUtils]: 19: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:09:32,394 INFO L290 TraceCheckUtils]: 20: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:09:32,394 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22458#true} {22458#true} #98#return; {22458#true} is VALID [2022-04-15 15:09:32,394 INFO L272 TraceCheckUtils]: 22: Hoare triple {22458#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:09:32,394 INFO L290 TraceCheckUtils]: 23: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:09:32,394 INFO L290 TraceCheckUtils]: 24: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:09:32,394 INFO L290 TraceCheckUtils]: 25: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:09:32,394 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22458#true} {22458#true} #100#return; {22458#true} is VALID [2022-04-15 15:09:32,397 INFO L290 TraceCheckUtils]: 27: Hoare triple {22458#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {22544#(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-15 15:09:32,397 INFO L290 TraceCheckUtils]: 28: Hoare triple {22544#(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 !false; {22544#(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-15 15:09:32,397 INFO L290 TraceCheckUtils]: 29: Hoare triple {22544#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:09:32,398 INFO L290 TraceCheckUtils]: 30: Hoare triple {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:09:32,398 INFO L290 TraceCheckUtils]: 31: Hoare triple {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:09:32,399 INFO L290 TraceCheckUtils]: 32: Hoare triple {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22561#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:09:32,399 INFO L290 TraceCheckUtils]: 33: Hoare triple {22561#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {22561#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:09:32,399 INFO L290 TraceCheckUtils]: 34: Hoare triple {22561#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22568#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:09:32,400 INFO L290 TraceCheckUtils]: 35: Hoare triple {22568#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {22568#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-15 15:09:32,400 INFO L290 TraceCheckUtils]: 36: Hoare triple {22568#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:09:32,401 INFO L290 TraceCheckUtils]: 37: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !false; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:09:32,401 INFO L272 TraceCheckUtils]: 38: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:09:32,401 INFO L290 TraceCheckUtils]: 39: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:09:32,401 INFO L290 TraceCheckUtils]: 40: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:09:32,401 INFO L290 TraceCheckUtils]: 41: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:09:32,402 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {22458#true} {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #102#return; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:09:32,402 INFO L272 TraceCheckUtils]: 43: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:09:32,402 INFO L290 TraceCheckUtils]: 44: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:09:32,402 INFO L290 TraceCheckUtils]: 45: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:09:32,402 INFO L290 TraceCheckUtils]: 46: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:09:32,403 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {22458#true} {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #104#return; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:09:32,403 INFO L272 TraceCheckUtils]: 48: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:09:32,403 INFO L290 TraceCheckUtils]: 49: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:09:32,403 INFO L290 TraceCheckUtils]: 50: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:09:32,403 INFO L290 TraceCheckUtils]: 51: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:09:32,404 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {22458#true} {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #106#return; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:09:32,404 INFO L272 TraceCheckUtils]: 53: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:09:32,404 INFO L290 TraceCheckUtils]: 54: Hoare triple {22458#true} ~cond := #in~cond; {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:09:32,404 INFO L290 TraceCheckUtils]: 55: Hoare triple {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:09:32,405 INFO L290 TraceCheckUtils]: 56: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:09:32,405 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #108#return; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-15 15:09:32,406 INFO L290 TraceCheckUtils]: 58: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {22644#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} is VALID [2022-04-15 15:09:32,406 INFO L290 TraceCheckUtils]: 59: Hoare triple {22644#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} assume !false; {22644#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} is VALID [2022-04-15 15:09:32,407 INFO L272 TraceCheckUtils]: 60: Hoare triple {22644#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:09:32,407 INFO L290 TraceCheckUtils]: 61: Hoare triple {22458#true} ~cond := #in~cond; {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:09:32,407 INFO L290 TraceCheckUtils]: 62: Hoare triple {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:09:32,407 INFO L290 TraceCheckUtils]: 63: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:09:32,408 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22644#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} #102#return; {22663#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:09:32,408 INFO L272 TraceCheckUtils]: 65: Hoare triple {22663#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~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)); {22458#true} is VALID [2022-04-15 15:09:32,409 INFO L290 TraceCheckUtils]: 66: Hoare triple {22458#true} ~cond := #in~cond; {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:09:32,409 INFO L290 TraceCheckUtils]: 67: Hoare triple {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:09:32,409 INFO L290 TraceCheckUtils]: 68: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:09:32,410 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22663#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:09:32,410 INFO L272 TraceCheckUtils]: 70: Hoare triple {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:09:32,411 INFO L290 TraceCheckUtils]: 71: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:09:32,411 INFO L290 TraceCheckUtils]: 72: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:09:32,411 INFO L290 TraceCheckUtils]: 73: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:09:32,411 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {22458#true} {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:09:32,412 INFO L272 TraceCheckUtils]: 75: Hoare triple {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:09:32,412 INFO L290 TraceCheckUtils]: 76: Hoare triple {22458#true} ~cond := #in~cond; {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:09:32,412 INFO L290 TraceCheckUtils]: 77: Hoare triple {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:09:32,412 INFO L290 TraceCheckUtils]: 78: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:09:32,413 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:09:32,414 INFO L290 TraceCheckUtils]: 80: Hoare triple {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:09:32,415 INFO L290 TraceCheckUtils]: 81: Hoare triple {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} is VALID [2022-04-15 15:09:32,415 INFO L290 TraceCheckUtils]: 82: Hoare triple {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} assume !false; {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} is VALID [2022-04-15 15:09:32,416 INFO L290 TraceCheckUtils]: 83: Hoare triple {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} assume !(~c~0 >= ~b~0); {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} is VALID [2022-04-15 15:09:32,416 INFO L290 TraceCheckUtils]: 84: Hoare triple {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-15 15:09:32,417 INFO L290 TraceCheckUtils]: 85: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !false; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-15 15:09:32,417 INFO L290 TraceCheckUtils]: 86: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-15 15:09:32,418 INFO L290 TraceCheckUtils]: 87: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !false; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-15 15:09:32,418 INFO L290 TraceCheckUtils]: 88: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-15 15:09:32,419 INFO L290 TraceCheckUtils]: 89: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !false; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-15 15:09:32,419 INFO L272 TraceCheckUtils]: 90: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:09:32,419 INFO L290 TraceCheckUtils]: 91: Hoare triple {22458#true} ~cond := #in~cond; {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:09:32,420 INFO L290 TraceCheckUtils]: 92: Hoare triple {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:09:32,420 INFO L290 TraceCheckUtils]: 93: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:09:32,423 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} #102#return; {22757#(and (= main_~s~0 1) (= (+ main_~b~0 (* (* (div (- main_~q~0) 2) main_~x~0) 2)) main_~y~0) (= (mod main_~q~0 2) 0) (= (* (div (- main_~q~0) 2) main_~x~0) main_~x~0))} is VALID [2022-04-15 15:09:32,426 INFO L272 TraceCheckUtils]: 95: Hoare triple {22757#(and (= main_~s~0 1) (= (+ main_~b~0 (* (* (div (- main_~q~0) 2) main_~x~0) 2)) main_~y~0) (= (mod main_~q~0 2) 0) (= (* (div (- main_~q~0) 2) main_~x~0) main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22761#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:09:32,426 INFO L290 TraceCheckUtils]: 96: Hoare triple {22761#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22765#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:09:32,426 INFO L290 TraceCheckUtils]: 97: Hoare triple {22765#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22459#false} is VALID [2022-04-15 15:09:32,426 INFO L290 TraceCheckUtils]: 98: Hoare triple {22459#false} assume !false; {22459#false} is VALID [2022-04-15 15:09:32,427 INFO L134 CoverageAnalysis]: Checked inductivity of 217 backedges. 64 proven. 45 refuted. 0 times theorem prover too weak. 108 trivial. 0 not checked. [2022-04-15 15:09:32,427 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:11:06,758 INFO L290 TraceCheckUtils]: 98: Hoare triple {22459#false} assume !false; {22459#false} is VALID [2022-04-15 15:11:06,759 INFO L290 TraceCheckUtils]: 97: Hoare triple {22765#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22459#false} is VALID [2022-04-15 15:11:06,759 INFO L290 TraceCheckUtils]: 96: Hoare triple {22761#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22765#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:11:06,760 INFO L272 TraceCheckUtils]: 95: Hoare triple {22781#(= 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)); {22761#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:11:06,761 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22785#(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)))))} #102#return; {22781#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:11:06,761 INFO L290 TraceCheckUtils]: 93: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:11:06,761 INFO L290 TraceCheckUtils]: 92: Hoare triple {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:11:06,762 INFO L290 TraceCheckUtils]: 91: Hoare triple {22458#true} ~cond := #in~cond; {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:11:06,762 INFO L272 TraceCheckUtils]: 90: Hoare triple {22785#(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)); {22458#true} is VALID [2022-04-15 15:11:06,762 INFO L290 TraceCheckUtils]: 89: Hoare triple {22785#(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 !false; {22785#(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-15 15:11:06,763 INFO L290 TraceCheckUtils]: 88: Hoare triple {22785#(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 !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22785#(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-15 15:11:06,763 INFO L290 TraceCheckUtils]: 87: Hoare triple {22785#(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 !false; {22785#(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-15 15:11:06,763 INFO L290 TraceCheckUtils]: 86: Hoare triple {22785#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22785#(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-15 15:11:06,764 INFO L290 TraceCheckUtils]: 85: Hoare triple {22785#(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 !false; {22785#(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-15 15:11:06,780 INFO L290 TraceCheckUtils]: 84: Hoare triple {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22785#(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-15 15:11:06,780 INFO L290 TraceCheckUtils]: 83: Hoare triple {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= ~b~0); {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:11:06,781 INFO L290 TraceCheckUtils]: 82: Hoare triple {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:11:06,786 INFO L290 TraceCheckUtils]: 81: Hoare triple {22827#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:11:06,786 INFO L290 TraceCheckUtils]: 80: Hoare triple {22827#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= 2 * ~v~0); {22827#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:11:06,787 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #108#return; {22827#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:11:06,787 INFO L290 TraceCheckUtils]: 78: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:11:06,788 INFO L290 TraceCheckUtils]: 77: Hoare triple {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:11:06,788 INFO L290 TraceCheckUtils]: 76: Hoare triple {22458#true} ~cond := #in~cond; {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:11:06,788 INFO L272 TraceCheckUtils]: 75: Hoare triple {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:11:06,789 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {22458#true} {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #106#return; {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 15:11:06,789 INFO L290 TraceCheckUtils]: 73: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:11:06,789 INFO L290 TraceCheckUtils]: 72: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:11:06,789 INFO L290 TraceCheckUtils]: 71: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:11:06,789 INFO L272 TraceCheckUtils]: 70: Hoare triple {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:11:06,790 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {22458#true} {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #104#return; {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 15:11:06,790 INFO L290 TraceCheckUtils]: 68: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:11:06,790 INFO L290 TraceCheckUtils]: 67: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:11:06,790 INFO L290 TraceCheckUtils]: 66: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:11:06,790 INFO L272 TraceCheckUtils]: 65: Hoare triple {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:11:06,791 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #102#return; {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 15:11:06,792 INFO L290 TraceCheckUtils]: 63: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:11:06,792 INFO L290 TraceCheckUtils]: 62: Hoare triple {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:11:06,792 INFO L290 TraceCheckUtils]: 61: Hoare triple {22458#true} ~cond := #in~cond; {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:11:06,792 INFO L272 TraceCheckUtils]: 60: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:11:06,793 INFO L290 TraceCheckUtils]: 59: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} assume !false; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 15:11:06,825 INFO L290 TraceCheckUtils]: 58: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 15:11:06,826 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {22458#true} {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #108#return; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 15:11:06,826 INFO L290 TraceCheckUtils]: 56: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:11:06,826 INFO L290 TraceCheckUtils]: 55: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:11:06,826 INFO L290 TraceCheckUtils]: 54: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:11:06,826 INFO L272 TraceCheckUtils]: 53: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:11:06,827 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {22458#true} {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #106#return; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 15:11:06,827 INFO L290 TraceCheckUtils]: 51: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:11:06,827 INFO L290 TraceCheckUtils]: 50: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:11:06,827 INFO L290 TraceCheckUtils]: 49: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:11:06,827 INFO L272 TraceCheckUtils]: 48: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:11:06,828 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {22458#true} {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #104#return; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 15:11:06,828 INFO L290 TraceCheckUtils]: 46: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:11:06,828 INFO L290 TraceCheckUtils]: 45: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:11:06,828 INFO L290 TraceCheckUtils]: 44: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:11:06,828 INFO L272 TraceCheckUtils]: 43: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:11:06,829 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {22458#true} {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #102#return; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 15:11:06,829 INFO L290 TraceCheckUtils]: 41: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:11:06,829 INFO L290 TraceCheckUtils]: 40: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:11:06,829 INFO L290 TraceCheckUtils]: 39: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:11:06,829 INFO L272 TraceCheckUtils]: 38: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:11:06,830 INFO L290 TraceCheckUtils]: 37: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} assume !false; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 15:11:06,833 INFO L290 TraceCheckUtils]: 36: Hoare triple {22965#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-15 15:11:06,834 INFO L290 TraceCheckUtils]: 35: Hoare triple {22965#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {22965#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:11:06,835 INFO L290 TraceCheckUtils]: 34: Hoare triple {22458#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22965#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:11:06,835 INFO L290 TraceCheckUtils]: 33: Hoare triple {22458#true} assume !false; {22458#true} is VALID [2022-04-15 15:11:06,835 INFO L290 TraceCheckUtils]: 32: Hoare triple {22458#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22458#true} is VALID [2022-04-15 15:11:06,835 INFO L290 TraceCheckUtils]: 31: Hoare triple {22458#true} assume !(~c~0 >= ~b~0); {22458#true} is VALID [2022-04-15 15:11:06,835 INFO L290 TraceCheckUtils]: 30: Hoare triple {22458#true} assume !false; {22458#true} is VALID [2022-04-15 15:11:06,835 INFO L290 TraceCheckUtils]: 29: Hoare triple {22458#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22458#true} is VALID [2022-04-15 15:11:06,836 INFO L290 TraceCheckUtils]: 28: Hoare triple {22458#true} assume !false; {22458#true} is VALID [2022-04-15 15:11:06,836 INFO L290 TraceCheckUtils]: 27: Hoare triple {22458#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {22458#true} is VALID [2022-04-15 15:11:06,836 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22458#true} {22458#true} #100#return; {22458#true} is VALID [2022-04-15 15:11:06,836 INFO L290 TraceCheckUtils]: 25: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:11:06,836 INFO L290 TraceCheckUtils]: 24: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:11:06,836 INFO L290 TraceCheckUtils]: 23: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:11:06,836 INFO L272 TraceCheckUtils]: 22: Hoare triple {22458#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:11:06,836 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22458#true} {22458#true} #98#return; {22458#true} is VALID [2022-04-15 15:11:06,836 INFO L290 TraceCheckUtils]: 20: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:11:06,836 INFO L290 TraceCheckUtils]: 19: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:11:06,836 INFO L290 TraceCheckUtils]: 18: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:11:06,836 INFO L272 TraceCheckUtils]: 17: Hoare triple {22458#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:11:06,836 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {22458#true} {22458#true} #96#return; {22458#true} is VALID [2022-04-15 15:11:06,836 INFO L290 TraceCheckUtils]: 15: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:11:06,837 INFO L290 TraceCheckUtils]: 14: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:11:06,837 INFO L290 TraceCheckUtils]: 13: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:11:06,837 INFO L272 TraceCheckUtils]: 12: Hoare triple {22458#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:11:06,837 INFO L290 TraceCheckUtils]: 11: Hoare triple {22458#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22458#true} is VALID [2022-04-15 15:11:06,837 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22458#true} {22458#true} #94#return; {22458#true} is VALID [2022-04-15 15:11:06,837 INFO L290 TraceCheckUtils]: 9: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:11:06,837 INFO L290 TraceCheckUtils]: 8: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-15 15:11:06,837 INFO L290 TraceCheckUtils]: 7: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-15 15:11:06,837 INFO L272 TraceCheckUtils]: 6: Hoare triple {22458#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {22458#true} is VALID [2022-04-15 15:11:06,837 INFO L290 TraceCheckUtils]: 5: Hoare triple {22458#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {22458#true} is VALID [2022-04-15 15:11:06,837 INFO L272 TraceCheckUtils]: 4: Hoare triple {22458#true} call #t~ret6 := main(); {22458#true} is VALID [2022-04-15 15:11:06,837 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22458#true} {22458#true} #112#return; {22458#true} is VALID [2022-04-15 15:11:06,837 INFO L290 TraceCheckUtils]: 2: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-15 15:11:06,837 INFO L290 TraceCheckUtils]: 1: Hoare triple {22458#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(11, 2);call #Ultimate.allocInit(12, 3); {22458#true} is VALID [2022-04-15 15:11:06,838 INFO L272 TraceCheckUtils]: 0: Hoare triple {22458#true} call ULTIMATE.init(); {22458#true} is VALID [2022-04-15 15:11:06,838 INFO L134 CoverageAnalysis]: Checked inductivity of 217 backedges. 80 proven. 19 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-15 15:11:06,838 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:11:06,838 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1750389022] [2022-04-15 15:11:06,838 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:11:06,838 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1475286732] [2022-04-15 15:11:06,838 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1475286732] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:11:06,838 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:11:06,839 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13] total 25 [2022-04-15 15:11:06,839 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:11:06,839 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1755815486] [2022-04-15 15:11:06,839 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1755815486] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:11:06,839 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:11:06,839 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 15:11:06,839 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1496691382] [2022-04-15 15:11:06,839 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:11:06,839 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 99 [2022-04-15 15:11:06,840 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:11:06,840 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:11:06,913 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:11:06,913 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 15:11:06,913 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:11:06,914 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 15:11:06,914 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=493, Unknown=0, NotChecked=0, Total=600 [2022-04-15 15:11:06,914 INFO L87 Difference]: Start difference. First operand 316 states and 437 transitions. Second operand has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:11:11,427 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 15:11:13,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:11:13,608 INFO L93 Difference]: Finished difference Result 386 states and 525 transitions. [2022-04-15 15:11:13,608 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 15:11:13,608 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 99 [2022-04-15 15:11:13,609 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:11:13,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:11:13,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 173 transitions. [2022-04-15 15:11:13,610 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:11:13,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 173 transitions. [2022-04-15 15:11:13,612 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 173 transitions. [2022-04-15 15:11:13,886 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 173 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:11:13,894 INFO L225 Difference]: With dead ends: 386 [2022-04-15 15:11:13,894 INFO L226 Difference]: Without dead ends: 384 [2022-04-15 15:11:13,894 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 202 GetRequests, 169 SyntacticMatches, 5 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 194 ImplicationChecksByTransitivity, 4.8s TimeCoverageRelationStatistics Valid=152, Invalid=718, Unknown=0, NotChecked=0, Total=870 [2022-04-15 15:11:13,895 INFO L913 BasicCegarLoop]: 60 mSDtfsCounter, 69 mSDsluCounter, 380 mSDsCounter, 0 mSdLazyCounter, 1209 mSolverCounterSat, 73 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 87 SdHoareTripleChecker+Valid, 440 SdHoareTripleChecker+Invalid, 1283 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 73 IncrementalHoareTripleChecker+Valid, 1209 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.6s IncrementalHoareTripleChecker+Time [2022-04-15 15:11:13,896 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [87 Valid, 440 Invalid, 1283 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [73 Valid, 1209 Invalid, 1 Unknown, 0 Unchecked, 3.6s Time] [2022-04-15 15:11:13,896 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 384 states. [2022-04-15 15:11:14,685 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 384 to 320. [2022-04-15 15:11:14,686 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:11:14,686 INFO L82 GeneralOperation]: Start isEquivalent. First operand 384 states. Second operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-15 15:11:14,687 INFO L74 IsIncluded]: Start isIncluded. First operand 384 states. Second operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-15 15:11:14,687 INFO L87 Difference]: Start difference. First operand 384 states. Second operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-15 15:11:14,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:11:14,695 INFO L93 Difference]: Finished difference Result 384 states and 523 transitions. [2022-04-15 15:11:14,695 INFO L276 IsEmpty]: Start isEmpty. Operand 384 states and 523 transitions. [2022-04-15 15:11:14,696 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:11:14,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:11:14,696 INFO L74 IsIncluded]: Start isIncluded. First operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) Second operand 384 states. [2022-04-15 15:11:14,697 INFO L87 Difference]: Start difference. First operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) Second operand 384 states. [2022-04-15 15:11:14,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:11:14,705 INFO L93 Difference]: Finished difference Result 384 states and 523 transitions. [2022-04-15 15:11:14,705 INFO L276 IsEmpty]: Start isEmpty. Operand 384 states and 523 transitions. [2022-04-15 15:11:14,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:11:14,706 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:11:14,706 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:11:14,706 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:11:14,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-15 15:11:14,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 320 states to 320 states and 440 transitions. [2022-04-15 15:11:14,714 INFO L78 Accepts]: Start accepts. Automaton has 320 states and 440 transitions. Word has length 99 [2022-04-15 15:11:14,714 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:11:14,714 INFO L478 AbstractCegarLoop]: Abstraction has 320 states and 440 transitions. [2022-04-15 15:11:14,714 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:11:14,714 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 320 states and 440 transitions. [2022-04-15 15:11:15,783 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 440 edges. 440 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:11:15,783 INFO L276 IsEmpty]: Start isEmpty. Operand 320 states and 440 transitions. [2022-04-15 15:11:15,784 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-15 15:11:15,784 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:11:15,784 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 5, 4, 4, 4, 3, 3, 3, 3, 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, 1, 1, 1] [2022-04-15 15:11:15,815 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-15 15:11:15,985 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-15 15:11:15,985 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:11:15,985 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:11:15,985 INFO L85 PathProgramCache]: Analyzing trace with hash -100199667, now seen corresponding path program 7 times [2022-04-15 15:11:15,985 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:11:15,985 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [380343197] [2022-04-15 15:11:15,986 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:11:15,986 INFO L85 PathProgramCache]: Analyzing trace with hash -100199667, now seen corresponding path program 8 times [2022-04-15 15:11:15,986 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:11:15,986 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [581688737] [2022-04-15 15:11:15,986 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:11:15,986 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:11:15,999 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:11:15,999 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1400840340] [2022-04-15 15:11:15,999 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:11:16,000 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:11:16,000 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:11:16,008 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-15 15:11:16,008 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-15 15:11:16,063 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:11:16,063 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:11:16,065 INFO L263 TraceCheckSpWp]: Trace formula consists of 266 conjuncts, 82 conjunts are in the unsatisfiable core [2022-04-15 15:11:16,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:11:16,088 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:12:21,962 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:12:31,981 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:12:38,806 INFO L272 TraceCheckUtils]: 0: Hoare triple {25266#true} call ULTIMATE.init(); {25266#true} is VALID [2022-04-15 15:12:38,806 INFO L290 TraceCheckUtils]: 1: Hoare triple {25266#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(11, 2);call #Ultimate.allocInit(12, 3); {25266#true} is VALID [2022-04-15 15:12:38,806 INFO L290 TraceCheckUtils]: 2: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:12:38,806 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25266#true} {25266#true} #112#return; {25266#true} is VALID [2022-04-15 15:12:38,807 INFO L272 TraceCheckUtils]: 4: Hoare triple {25266#true} call #t~ret6 := main(); {25266#true} is VALID [2022-04-15 15:12:38,807 INFO L290 TraceCheckUtils]: 5: Hoare triple {25266#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {25266#true} is VALID [2022-04-15 15:12:38,807 INFO L272 TraceCheckUtils]: 6: Hoare triple {25266#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:12:38,807 INFO L290 TraceCheckUtils]: 7: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:12:38,807 INFO L290 TraceCheckUtils]: 8: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:12:38,807 INFO L290 TraceCheckUtils]: 9: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:12:38,807 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25266#true} {25266#true} #94#return; {25266#true} is VALID [2022-04-15 15:12:38,807 INFO L290 TraceCheckUtils]: 11: Hoare triple {25266#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25266#true} is VALID [2022-04-15 15:12:38,807 INFO L272 TraceCheckUtils]: 12: Hoare triple {25266#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:12:38,807 INFO L290 TraceCheckUtils]: 13: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:12:38,807 INFO L290 TraceCheckUtils]: 14: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:12:38,807 INFO L290 TraceCheckUtils]: 15: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:12:38,807 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {25266#true} {25266#true} #96#return; {25266#true} is VALID [2022-04-15 15:12:38,808 INFO L272 TraceCheckUtils]: 17: Hoare triple {25266#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:12:38,808 INFO L290 TraceCheckUtils]: 18: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:12:38,808 INFO L290 TraceCheckUtils]: 19: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:12:38,808 INFO L290 TraceCheckUtils]: 20: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:12:38,808 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {25266#true} {25266#true} #98#return; {25266#true} is VALID [2022-04-15 15:12:38,808 INFO L272 TraceCheckUtils]: 22: Hoare triple {25266#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:12:38,808 INFO L290 TraceCheckUtils]: 23: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:12:38,808 INFO L290 TraceCheckUtils]: 24: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:12:38,808 INFO L290 TraceCheckUtils]: 25: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:12:38,808 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {25266#true} {25266#true} #100#return; {25266#true} is VALID [2022-04-15 15:12:38,809 INFO L290 TraceCheckUtils]: 27: Hoare triple {25266#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {25352#(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-15 15:12:38,809 INFO L290 TraceCheckUtils]: 28: Hoare triple {25352#(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 !false; {25352#(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-15 15:12:38,809 INFO L290 TraceCheckUtils]: 29: Hoare triple {25352#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25359#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:12:38,810 INFO L290 TraceCheckUtils]: 30: Hoare triple {25359#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {25359#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:12:38,810 INFO L290 TraceCheckUtils]: 31: Hoare triple {25359#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:12:38,810 INFO L290 TraceCheckUtils]: 32: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:12:38,811 INFO L272 TraceCheckUtils]: 33: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:12:38,811 INFO L290 TraceCheckUtils]: 34: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:12:38,811 INFO L290 TraceCheckUtils]: 35: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:12:38,811 INFO L290 TraceCheckUtils]: 36: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:12:38,811 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {25266#true} {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #102#return; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:12:38,812 INFO L272 TraceCheckUtils]: 38: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:12:38,812 INFO L290 TraceCheckUtils]: 39: Hoare triple {25266#true} ~cond := #in~cond; {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:12:38,812 INFO L290 TraceCheckUtils]: 40: Hoare triple {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:12:38,812 INFO L290 TraceCheckUtils]: 41: Hoare triple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:12:38,813 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #104#return; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:12:38,813 INFO L272 TraceCheckUtils]: 43: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:12:38,813 INFO L290 TraceCheckUtils]: 44: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:12:38,813 INFO L290 TraceCheckUtils]: 45: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:12:38,813 INFO L290 TraceCheckUtils]: 46: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:12:38,814 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {25266#true} {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #106#return; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:12:38,814 INFO L272 TraceCheckUtils]: 48: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:12:38,814 INFO L290 TraceCheckUtils]: 49: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:12:38,814 INFO L290 TraceCheckUtils]: 50: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:12:38,814 INFO L290 TraceCheckUtils]: 51: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:12:38,815 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {25266#true} {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #108#return; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:12:38,815 INFO L290 TraceCheckUtils]: 53: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= 2 * ~v~0); {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-15 15:12:38,816 INFO L290 TraceCheckUtils]: 54: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 15:12:38,816 INFO L290 TraceCheckUtils]: 55: Hoare triple {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 15:12:38,817 INFO L290 TraceCheckUtils]: 56: Hoare triple {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 15:12:38,817 INFO L290 TraceCheckUtils]: 57: Hoare triple {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {25448#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-15 15:12:38,818 INFO L290 TraceCheckUtils]: 58: Hoare triple {25448#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !false; {25448#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-15 15:12:38,818 INFO L290 TraceCheckUtils]: 59: Hoare triple {25448#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25455#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-15 15:12:38,818 INFO L290 TraceCheckUtils]: 60: Hoare triple {25455#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !false; {25455#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-15 15:12:38,819 INFO L290 TraceCheckUtils]: 61: Hoare triple {25455#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25462#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-15 15:12:38,819 INFO L290 TraceCheckUtils]: 62: Hoare triple {25462#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !false; {25462#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-15 15:12:38,819 INFO L272 TraceCheckUtils]: 63: Hoare triple {25462#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:12:38,820 INFO L290 TraceCheckUtils]: 64: Hoare triple {25266#true} ~cond := #in~cond; {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:12:38,820 INFO L290 TraceCheckUtils]: 65: Hoare triple {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:12:38,820 INFO L290 TraceCheckUtils]: 66: Hoare triple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:12:38,821 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} {25462#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)))} #102#return; {25481#(and (= main_~b~0 main_~v~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:12:38,821 INFO L272 TraceCheckUtils]: 68: Hoare triple {25481#(and (= main_~b~0 main_~v~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~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)); {25266#true} is VALID [2022-04-15 15:12:38,821 INFO L290 TraceCheckUtils]: 69: Hoare triple {25266#true} ~cond := #in~cond; {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:12:38,822 INFO L290 TraceCheckUtils]: 70: Hoare triple {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:12:38,822 INFO L290 TraceCheckUtils]: 71: Hoare triple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:12:38,823 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} {25481#(and (= main_~b~0 main_~v~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:12:38,823 INFO L272 TraceCheckUtils]: 73: Hoare triple {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:12:38,823 INFO L290 TraceCheckUtils]: 74: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:12:38,823 INFO L290 TraceCheckUtils]: 75: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:12:38,823 INFO L290 TraceCheckUtils]: 76: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:12:38,824 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {25266#true} {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:12:38,824 INFO L272 TraceCheckUtils]: 78: Hoare triple {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:12:38,824 INFO L290 TraceCheckUtils]: 79: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:12:38,824 INFO L290 TraceCheckUtils]: 80: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:12:38,824 INFO L290 TraceCheckUtils]: 81: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:12:38,825 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {25266#true} {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:12:38,825 INFO L290 TraceCheckUtils]: 83: Hoare triple {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:12:38,826 INFO L290 TraceCheckUtils]: 84: Hoare triple {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:12:38,827 INFO L290 TraceCheckUtils]: 85: Hoare triple {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !false; {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:12:38,827 INFO L290 TraceCheckUtils]: 86: Hoare triple {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:12:40,313 INFO L290 TraceCheckUtils]: 87: Hoare triple {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {25544#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (or (and (= (+ (* (- 1) main_~a~0) main_~y~0 (* main_~x~0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0)))) main_~b~0) (= (mod (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0) 0) (= 0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0))) (not (= main_~x~0 0))) (and (= main_~x~0 0) (= (+ main_~b~0 main_~a~0) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) 0))))} is VALID [2022-04-15 15:12:40,315 INFO L290 TraceCheckUtils]: 88: Hoare triple {25544#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (or (and (= (+ (* (- 1) main_~a~0) main_~y~0 (* main_~x~0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0)))) main_~b~0) (= (mod (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0) 0) (= 0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0))) (not (= main_~x~0 0))) (and (= main_~x~0 0) (= (+ main_~b~0 main_~a~0) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) 0))))} assume !false; {25544#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (or (and (= (+ (* (- 1) main_~a~0) main_~y~0 (* main_~x~0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0)))) main_~b~0) (= (mod (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0) 0) (= 0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0))) (not (= main_~x~0 0))) (and (= main_~x~0 0) (= (+ main_~b~0 main_~a~0) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) 0))))} is VALID [2022-04-15 15:12:40,332 INFO L290 TraceCheckUtils]: 89: Hoare triple {25544#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (or (and (= (+ (* (- 1) main_~a~0) main_~y~0 (* main_~x~0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0)))) main_~b~0) (= (mod (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0) 0) (= 0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0))) (not (= main_~x~0 0))) (and (= main_~x~0 0) (= (+ main_~b~0 main_~a~0) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) 0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} is VALID [2022-04-15 15:12:40,333 INFO L290 TraceCheckUtils]: 90: Hoare triple {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} assume !false; {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} is VALID [2022-04-15 15:12:40,334 INFO L290 TraceCheckUtils]: 91: Hoare triple {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} is VALID [2022-04-15 15:12:40,335 INFO L290 TraceCheckUtils]: 92: Hoare triple {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} assume !false; {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} is VALID [2022-04-15 15:12:40,335 INFO L272 TraceCheckUtils]: 93: Hoare triple {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:12:40,335 INFO L290 TraceCheckUtils]: 94: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:12:40,335 INFO L290 TraceCheckUtils]: 95: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:12:40,336 INFO L290 TraceCheckUtils]: 96: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:12:40,336 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {25266#true} {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} #102#return; {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} is VALID [2022-04-15 15:12:40,338 INFO L272 TraceCheckUtils]: 98: Hoare triple {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25579#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:12:40,339 INFO L290 TraceCheckUtils]: 99: Hoare triple {25579#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25583#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:12:40,339 INFO L290 TraceCheckUtils]: 100: Hoare triple {25583#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25267#false} is VALID [2022-04-15 15:12:40,339 INFO L290 TraceCheckUtils]: 101: Hoare triple {25267#false} assume !false; {25267#false} is VALID [2022-04-15 15:12:40,340 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 36 proven. 76 refuted. 0 times theorem prover too weak. 114 trivial. 0 not checked. [2022-04-15 15:12:40,340 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:13:22,708 INFO L290 TraceCheckUtils]: 101: Hoare triple {25267#false} assume !false; {25267#false} is VALID [2022-04-15 15:13:22,709 INFO L290 TraceCheckUtils]: 100: Hoare triple {25583#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25267#false} is VALID [2022-04-15 15:13:22,709 INFO L290 TraceCheckUtils]: 99: Hoare triple {25579#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25583#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:13:22,710 INFO L272 TraceCheckUtils]: 98: Hoare triple {25599#(= 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)); {25579#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:13:22,710 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {25266#true} {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:13:22,711 INFO L290 TraceCheckUtils]: 96: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:13:22,711 INFO L290 TraceCheckUtils]: 95: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:13:22,711 INFO L290 TraceCheckUtils]: 94: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:13:22,711 INFO L272 TraceCheckUtils]: 93: Hoare triple {25599#(= 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)); {25266#true} is VALID [2022-04-15 15:13:22,711 INFO L290 TraceCheckUtils]: 92: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:13:22,711 INFO L290 TraceCheckUtils]: 91: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:13:22,712 INFO L290 TraceCheckUtils]: 90: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:13:22,712 INFO L290 TraceCheckUtils]: 89: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:13:22,713 INFO L290 TraceCheckUtils]: 88: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:13:24,715 WARN L290 TraceCheckUtils]: 87: Hoare triple {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-15 15:13:24,716 INFO L290 TraceCheckUtils]: 86: Hoare triple {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-15 15:13:24,716 INFO L290 TraceCheckUtils]: 85: Hoare triple {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !false; {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-15 15:13:25,124 INFO L290 TraceCheckUtils]: 84: Hoare triple {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-15 15:13:25,125 INFO L290 TraceCheckUtils]: 83: Hoare triple {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~c~0 >= 2 * ~v~0); {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:13:25,125 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {25266#true} {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #108#return; {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:13:25,125 INFO L290 TraceCheckUtils]: 81: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:13:25,126 INFO L290 TraceCheckUtils]: 80: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:13:25,126 INFO L290 TraceCheckUtils]: 79: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:13:25,126 INFO L272 TraceCheckUtils]: 78: Hoare triple {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:13:25,126 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {25266#true} {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #106#return; {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:13:25,127 INFO L290 TraceCheckUtils]: 76: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:13:25,127 INFO L290 TraceCheckUtils]: 75: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:13:25,127 INFO L290 TraceCheckUtils]: 74: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:13:25,127 INFO L272 TraceCheckUtils]: 73: Hoare triple {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:13:25,128 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} {25680#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #104#return; {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:13:25,128 INFO L290 TraceCheckUtils]: 71: Hoare triple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:13:25,128 INFO L290 TraceCheckUtils]: 70: Hoare triple {25690#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:13:25,129 INFO L290 TraceCheckUtils]: 69: Hoare triple {25266#true} ~cond := #in~cond; {25690#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:13:25,129 INFO L272 TraceCheckUtils]: 68: Hoare triple {25680#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~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)); {25266#true} is VALID [2022-04-15 15:13:25,130 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} {25697#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #102#return; {25680#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:13:25,130 INFO L290 TraceCheckUtils]: 66: Hoare triple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:13:25,130 INFO L290 TraceCheckUtils]: 65: Hoare triple {25690#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:13:25,131 INFO L290 TraceCheckUtils]: 64: Hoare triple {25266#true} ~cond := #in~cond; {25690#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:13:25,131 INFO L272 TraceCheckUtils]: 63: Hoare triple {25697#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~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)); {25266#true} is VALID [2022-04-15 15:13:25,131 INFO L290 TraceCheckUtils]: 62: Hoare triple {25697#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {25697#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:13:25,132 INFO L290 TraceCheckUtils]: 61: Hoare triple {25716#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25697#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:13:25,132 INFO L290 TraceCheckUtils]: 60: Hoare triple {25716#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {25716#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:13:25,134 INFO L290 TraceCheckUtils]: 59: Hoare triple {25266#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25716#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 15:13:25,134 INFO L290 TraceCheckUtils]: 58: Hoare triple {25266#true} assume !false; {25266#true} is VALID [2022-04-15 15:13:25,134 INFO L290 TraceCheckUtils]: 57: Hoare triple {25266#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {25266#true} is VALID [2022-04-15 15:13:25,134 INFO L290 TraceCheckUtils]: 56: Hoare triple {25266#true} assume !(~c~0 >= ~b~0); {25266#true} is VALID [2022-04-15 15:13:25,134 INFO L290 TraceCheckUtils]: 55: Hoare triple {25266#true} assume !false; {25266#true} is VALID [2022-04-15 15:13:25,134 INFO L290 TraceCheckUtils]: 54: Hoare triple {25266#true} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {25266#true} is VALID [2022-04-15 15:13:25,135 INFO L290 TraceCheckUtils]: 53: Hoare triple {25266#true} assume !(~c~0 >= 2 * ~v~0); {25266#true} is VALID [2022-04-15 15:13:25,135 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {25266#true} {25266#true} #108#return; {25266#true} is VALID [2022-04-15 15:13:25,135 INFO L290 TraceCheckUtils]: 51: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:13:25,135 INFO L290 TraceCheckUtils]: 50: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:13:25,135 INFO L290 TraceCheckUtils]: 49: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:13:25,135 INFO L272 TraceCheckUtils]: 48: Hoare triple {25266#true} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:13:25,135 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {25266#true} {25266#true} #106#return; {25266#true} is VALID [2022-04-15 15:13:25,135 INFO L290 TraceCheckUtils]: 46: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:13:25,135 INFO L290 TraceCheckUtils]: 45: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:13:25,135 INFO L290 TraceCheckUtils]: 44: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:13:25,135 INFO L272 TraceCheckUtils]: 43: Hoare triple {25266#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:13:25,135 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {25266#true} {25266#true} #104#return; {25266#true} is VALID [2022-04-15 15:13:25,135 INFO L290 TraceCheckUtils]: 41: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:13:25,135 INFO L290 TraceCheckUtils]: 40: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:13:25,136 INFO L290 TraceCheckUtils]: 39: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:13:25,136 INFO L272 TraceCheckUtils]: 38: Hoare triple {25266#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:13:25,136 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {25266#true} {25266#true} #102#return; {25266#true} is VALID [2022-04-15 15:13:25,136 INFO L290 TraceCheckUtils]: 36: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:13:25,136 INFO L290 TraceCheckUtils]: 35: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:13:25,136 INFO L290 TraceCheckUtils]: 34: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:13:25,136 INFO L272 TraceCheckUtils]: 33: Hoare triple {25266#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:13:25,136 INFO L290 TraceCheckUtils]: 32: Hoare triple {25266#true} assume !false; {25266#true} is VALID [2022-04-15 15:13:25,136 INFO L290 TraceCheckUtils]: 31: Hoare triple {25266#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25266#true} is VALID [2022-04-15 15:13:25,136 INFO L290 TraceCheckUtils]: 30: Hoare triple {25266#true} assume !false; {25266#true} is VALID [2022-04-15 15:13:25,136 INFO L290 TraceCheckUtils]: 29: Hoare triple {25266#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25266#true} is VALID [2022-04-15 15:13:25,136 INFO L290 TraceCheckUtils]: 28: Hoare triple {25266#true} assume !false; {25266#true} is VALID [2022-04-15 15:13:25,136 INFO L290 TraceCheckUtils]: 27: Hoare triple {25266#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {25266#true} is VALID [2022-04-15 15:13:25,136 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {25266#true} {25266#true} #100#return; {25266#true} is VALID [2022-04-15 15:13:25,136 INFO L290 TraceCheckUtils]: 25: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:13:25,137 INFO L290 TraceCheckUtils]: 24: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:13:25,137 INFO L290 TraceCheckUtils]: 23: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:13:25,137 INFO L272 TraceCheckUtils]: 22: Hoare triple {25266#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:13:25,137 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {25266#true} {25266#true} #98#return; {25266#true} is VALID [2022-04-15 15:13:25,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:13:25,137 INFO L290 TraceCheckUtils]: 19: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:13:25,137 INFO L290 TraceCheckUtils]: 18: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:13:25,137 INFO L272 TraceCheckUtils]: 17: Hoare triple {25266#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:13:25,137 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {25266#true} {25266#true} #96#return; {25266#true} is VALID [2022-04-15 15:13:25,137 INFO L290 TraceCheckUtils]: 15: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:13:25,137 INFO L290 TraceCheckUtils]: 14: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:13:25,137 INFO L290 TraceCheckUtils]: 13: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:13:25,137 INFO L272 TraceCheckUtils]: 12: Hoare triple {25266#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:13:25,137 INFO L290 TraceCheckUtils]: 11: Hoare triple {25266#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25266#true} is VALID [2022-04-15 15:13:25,138 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25266#true} {25266#true} #94#return; {25266#true} is VALID [2022-04-15 15:13:25,138 INFO L290 TraceCheckUtils]: 9: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:13:25,138 INFO L290 TraceCheckUtils]: 8: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-15 15:13:25,138 INFO L290 TraceCheckUtils]: 7: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-15 15:13:25,138 INFO L272 TraceCheckUtils]: 6: Hoare triple {25266#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {25266#true} is VALID [2022-04-15 15:13:25,138 INFO L290 TraceCheckUtils]: 5: Hoare triple {25266#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {25266#true} is VALID [2022-04-15 15:13:25,138 INFO L272 TraceCheckUtils]: 4: Hoare triple {25266#true} call #t~ret6 := main(); {25266#true} is VALID [2022-04-15 15:13:25,138 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25266#true} {25266#true} #112#return; {25266#true} is VALID [2022-04-15 15:13:25,138 INFO L290 TraceCheckUtils]: 2: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-15 15:13:25,138 INFO L290 TraceCheckUtils]: 1: Hoare triple {25266#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(11, 2);call #Ultimate.allocInit(12, 3); {25266#true} is VALID [2022-04-15 15:13:25,138 INFO L272 TraceCheckUtils]: 0: Hoare triple {25266#true} call ULTIMATE.init(); {25266#true} is VALID [2022-04-15 15:13:25,139 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 69 proven. 27 refuted. 0 times theorem prover too weak. 130 trivial. 0 not checked. [2022-04-15 15:13:25,139 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:13:25,139 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [581688737] [2022-04-15 15:13:25,139 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:13:25,139 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1400840340] [2022-04-15 15:13:25,139 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1400840340] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:13:25,139 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:13:25,139 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 12] total 25 [2022-04-15 15:13:25,139 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:13:25,139 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [380343197] [2022-04-15 15:13:25,139 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [380343197] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:13:25,139 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:13:25,140 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-15 15:13:25,140 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [861488284] [2022-04-15 15:13:25,140 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:13:25,140 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 102 [2022-04-15 15:13:25,140 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:13:25,140 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:13:27,217 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 71 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 15:13:27,217 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-15 15:13:27,217 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:13:27,218 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-15 15:13:27,218 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=513, Unknown=0, NotChecked=0, Total=600 [2022-04-15 15:13:27,218 INFO L87 Difference]: Start difference. First operand 320 states and 440 transitions. Second operand has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:13:32,734 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 15:13:37,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:13:37,792 INFO L93 Difference]: Finished difference Result 430 states and 587 transitions. [2022-04-15 15:13:37,792 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 15:13:37,792 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 102 [2022-04-15 15:13:37,792 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:13:37,792 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:13:37,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 163 transitions. [2022-04-15 15:13:37,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:13:37,795 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 163 transitions. [2022-04-15 15:13:37,795 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 163 transitions. [2022-04-15 15:13:39,976 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 162 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 15:13:39,986 INFO L225 Difference]: With dead ends: 430 [2022-04-15 15:13:39,986 INFO L226 Difference]: Without dead ends: 428 [2022-04-15 15:13:39,987 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 210 GetRequests, 179 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 162 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=139, Invalid=853, Unknown=0, NotChecked=0, Total=992 [2022-04-15 15:13:39,987 INFO L913 BasicCegarLoop]: 51 mSDtfsCounter, 71 mSDsluCounter, 381 mSDsCounter, 0 mSdLazyCounter, 994 mSolverCounterSat, 57 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 89 SdHoareTripleChecker+Valid, 432 SdHoareTripleChecker+Invalid, 1052 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 57 IncrementalHoareTripleChecker+Valid, 994 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:13:39,987 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [89 Valid, 432 Invalid, 1052 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [57 Valid, 994 Invalid, 1 Unknown, 0 Unchecked, 5.1s Time] [2022-04-15 15:13:39,988 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 428 states. [2022-04-15 15:13:41,309 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 428 to 410. [2022-04-15 15:13:41,310 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:13:41,310 INFO L82 GeneralOperation]: Start isEquivalent. First operand 428 states. Second operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-15 15:13:41,311 INFO L74 IsIncluded]: Start isIncluded. First operand 428 states. Second operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-15 15:13:41,331 INFO L87 Difference]: Start difference. First operand 428 states. Second operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-15 15:13:41,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:13:41,340 INFO L93 Difference]: Finished difference Result 428 states and 585 transitions. [2022-04-15 15:13:41,340 INFO L276 IsEmpty]: Start isEmpty. Operand 428 states and 585 transitions. [2022-04-15 15:13:41,347 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:13:41,347 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:13:41,348 INFO L74 IsIncluded]: Start isIncluded. First operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) Second operand 428 states. [2022-04-15 15:13:41,349 INFO L87 Difference]: Start difference. First operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) Second operand 428 states. [2022-04-15 15:13:41,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:13:41,357 INFO L93 Difference]: Finished difference Result 428 states and 585 transitions. [2022-04-15 15:13:41,358 INFO L276 IsEmpty]: Start isEmpty. Operand 428 states and 585 transitions. [2022-04-15 15:13:41,358 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:13:41,358 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:13:41,358 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:13:41,359 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:13:41,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-15 15:13:41,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 410 states to 410 states and 567 transitions. [2022-04-15 15:13:41,370 INFO L78 Accepts]: Start accepts. Automaton has 410 states and 567 transitions. Word has length 102 [2022-04-15 15:13:41,370 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:13:41,370 INFO L478 AbstractCegarLoop]: Abstraction has 410 states and 567 transitions. [2022-04-15 15:13:41,370 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:13:41,370 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 410 states and 567 transitions. [2022-04-15 15:13:45,033 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 567 edges. 566 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 15:13:45,033 INFO L276 IsEmpty]: Start isEmpty. Operand 410 states and 567 transitions. [2022-04-15 15:13:45,034 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-15 15:13:45,034 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:13:45,034 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 4, 4, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:13:45,053 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-15 15:13:45,234 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-15 15:13:45,235 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:13:45,235 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:13:45,235 INFO L85 PathProgramCache]: Analyzing trace with hash -1948981098, now seen corresponding path program 5 times [2022-04-15 15:13:45,235 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:13:45,235 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2081046786] [2022-04-15 15:13:45,236 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:13:45,236 INFO L85 PathProgramCache]: Analyzing trace with hash -1948981098, now seen corresponding path program 6 times [2022-04-15 15:13:45,236 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:13:45,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [169414316] [2022-04-15 15:13:45,236 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:13:45,236 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:13:45,245 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:13:45,246 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1895189882] [2022-04-15 15:13:45,246 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 15:13:45,246 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:13:45,246 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:13:45,247 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-15 15:13:45,247 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-15 15:13:45,305 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-15 15:13:45,305 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:13:45,306 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-15 15:13:45,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:13:45,325 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:14:15,091 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:14:23,005 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:14:23,123 INFO L272 TraceCheckUtils]: 0: Hoare triple {28452#true} call ULTIMATE.init(); {28452#true} is VALID [2022-04-15 15:14:23,124 INFO L290 TraceCheckUtils]: 1: Hoare triple {28452#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(11, 2);call #Ultimate.allocInit(12, 3); {28452#true} is VALID [2022-04-15 15:14:23,124 INFO L290 TraceCheckUtils]: 2: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 15:14:23,124 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28452#true} {28452#true} #112#return; {28452#true} is VALID [2022-04-15 15:14:23,124 INFO L272 TraceCheckUtils]: 4: Hoare triple {28452#true} call #t~ret6 := main(); {28452#true} is VALID [2022-04-15 15:14:23,124 INFO L290 TraceCheckUtils]: 5: Hoare triple {28452#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {28452#true} is VALID [2022-04-15 15:14:23,124 INFO L272 TraceCheckUtils]: 6: Hoare triple {28452#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {28452#true} is VALID [2022-04-15 15:14:23,124 INFO L290 TraceCheckUtils]: 7: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 15:14:23,124 INFO L290 TraceCheckUtils]: 8: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 15:14:23,124 INFO L290 TraceCheckUtils]: 9: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 15:14:23,124 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28452#true} {28452#true} #94#return; {28452#true} is VALID [2022-04-15 15:14:23,124 INFO L290 TraceCheckUtils]: 11: Hoare triple {28452#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {28452#true} is VALID [2022-04-15 15:14:23,124 INFO L272 TraceCheckUtils]: 12: Hoare triple {28452#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {28452#true} is VALID [2022-04-15 15:14:23,124 INFO L290 TraceCheckUtils]: 13: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 15:14:23,124 INFO L290 TraceCheckUtils]: 14: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 15:14:23,125 INFO L290 TraceCheckUtils]: 15: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 15:14:23,125 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {28452#true} {28452#true} #96#return; {28452#true} is VALID [2022-04-15 15:14:23,125 INFO L272 TraceCheckUtils]: 17: Hoare triple {28452#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {28452#true} is VALID [2022-04-15 15:14:23,125 INFO L290 TraceCheckUtils]: 18: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 15:14:23,125 INFO L290 TraceCheckUtils]: 19: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 15:14:23,125 INFO L290 TraceCheckUtils]: 20: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 15:14:23,125 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {28452#true} {28452#true} #98#return; {28452#true} is VALID [2022-04-15 15:14:23,125 INFO L272 TraceCheckUtils]: 22: Hoare triple {28452#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {28452#true} is VALID [2022-04-15 15:14:23,125 INFO L290 TraceCheckUtils]: 23: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 15:14:23,125 INFO L290 TraceCheckUtils]: 24: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 15:14:23,125 INFO L290 TraceCheckUtils]: 25: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 15:14:23,125 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {28452#true} {28452#true} #100#return; {28452#true} is VALID [2022-04-15 15:14:23,126 INFO L290 TraceCheckUtils]: 27: Hoare triple {28452#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {28538#(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-15 15:14:23,126 INFO L290 TraceCheckUtils]: 28: Hoare triple {28538#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {28538#(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-15 15:14:23,126 INFO L290 TraceCheckUtils]: 29: Hoare triple {28538#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,127 INFO L290 TraceCheckUtils]: 30: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,127 INFO L290 TraceCheckUtils]: 31: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,128 INFO L290 TraceCheckUtils]: 32: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,128 INFO L272 TraceCheckUtils]: 33: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~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)); {28452#true} is VALID [2022-04-15 15:14:23,128 INFO L290 TraceCheckUtils]: 34: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 15:14:23,128 INFO L290 TraceCheckUtils]: 35: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 15:14:23,128 INFO L290 TraceCheckUtils]: 36: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 15:14:23,129 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,129 INFO L272 TraceCheckUtils]: 38: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~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)); {28452#true} is VALID [2022-04-15 15:14:23,129 INFO L290 TraceCheckUtils]: 39: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 15:14:23,129 INFO L290 TraceCheckUtils]: 40: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 15:14:23,129 INFO L290 TraceCheckUtils]: 41: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 15:14:23,130 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,130 INFO L272 TraceCheckUtils]: 43: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 15:14:23,130 INFO L290 TraceCheckUtils]: 44: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 15:14:23,130 INFO L290 TraceCheckUtils]: 45: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 15:14:23,130 INFO L290 TraceCheckUtils]: 46: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 15:14:23,131 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,131 INFO L272 TraceCheckUtils]: 48: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 15:14:23,131 INFO L290 TraceCheckUtils]: 49: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 15:14:23,131 INFO L290 TraceCheckUtils]: 50: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 15:14:23,131 INFO L290 TraceCheckUtils]: 51: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 15:14:23,132 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,132 INFO L290 TraceCheckUtils]: 53: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,132 INFO L290 TraceCheckUtils]: 54: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,132 INFO L272 TraceCheckUtils]: 55: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~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)); {28452#true} is VALID [2022-04-15 15:14:23,133 INFO L290 TraceCheckUtils]: 56: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 15:14:23,133 INFO L290 TraceCheckUtils]: 57: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 15:14:23,133 INFO L290 TraceCheckUtils]: 58: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 15:14:23,133 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,133 INFO L272 TraceCheckUtils]: 60: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~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)); {28452#true} is VALID [2022-04-15 15:14:23,134 INFO L290 TraceCheckUtils]: 61: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 15:14:23,134 INFO L290 TraceCheckUtils]: 62: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 15:14:23,134 INFO L290 TraceCheckUtils]: 63: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 15:14:23,134 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,134 INFO L272 TraceCheckUtils]: 65: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 15:14:23,134 INFO L290 TraceCheckUtils]: 66: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 15:14:23,135 INFO L290 TraceCheckUtils]: 67: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 15:14:23,135 INFO L290 TraceCheckUtils]: 68: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 15:14:23,135 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,135 INFO L272 TraceCheckUtils]: 70: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 15:14:23,135 INFO L290 TraceCheckUtils]: 71: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 15:14:23,135 INFO L290 TraceCheckUtils]: 72: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 15:14:23,136 INFO L290 TraceCheckUtils]: 73: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 15:14:23,136 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,137 INFO L290 TraceCheckUtils]: 75: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,137 INFO L290 TraceCheckUtils]: 76: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,137 INFO L272 TraceCheckUtils]: 77: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~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)); {28452#true} is VALID [2022-04-15 15:14:23,137 INFO L290 TraceCheckUtils]: 78: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 15:14:23,137 INFO L290 TraceCheckUtils]: 79: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 15:14:23,137 INFO L290 TraceCheckUtils]: 80: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 15:14:23,138 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,138 INFO L272 TraceCheckUtils]: 82: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~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)); {28452#true} is VALID [2022-04-15 15:14:23,138 INFO L290 TraceCheckUtils]: 83: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 15:14:23,138 INFO L290 TraceCheckUtils]: 84: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 15:14:23,138 INFO L290 TraceCheckUtils]: 85: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 15:14:23,139 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,139 INFO L272 TraceCheckUtils]: 87: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 15:14:23,139 INFO L290 TraceCheckUtils]: 88: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-15 15:14:23,139 INFO L290 TraceCheckUtils]: 89: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-15 15:14:23,139 INFO L290 TraceCheckUtils]: 90: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-15 15:14:23,140 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,140 INFO L272 TraceCheckUtils]: 92: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {28452#true} is VALID [2022-04-15 15:14:23,140 INFO L290 TraceCheckUtils]: 93: Hoare triple {28452#true} ~cond := #in~cond; {28738#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:14:23,141 INFO L290 TraceCheckUtils]: 94: Hoare triple {28738#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {28742#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:23,141 INFO L290 TraceCheckUtils]: 95: Hoare triple {28742#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {28742#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:23,142 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {28742#(not (= |__VERIFIER_assert_#in~cond| 0))} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {28749#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,142 INFO L290 TraceCheckUtils]: 97: Hoare triple {28749#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {28749#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,145 INFO L290 TraceCheckUtils]: 98: Hoare triple {28749#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,145 INFO L290 TraceCheckUtils]: 99: Hoare triple {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,146 INFO L290 TraceCheckUtils]: 100: Hoare triple {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:23,148 INFO L290 TraceCheckUtils]: 101: Hoare triple {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {28766#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~x~0 (+ main_~b~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0)))))} is VALID [2022-04-15 15:14:23,148 INFO L290 TraceCheckUtils]: 102: Hoare triple {28766#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~x~0 (+ main_~b~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0)))))} assume !false; {28766#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~x~0 (+ main_~b~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0)))))} is VALID [2022-04-15 15:14:23,149 INFO L290 TraceCheckUtils]: 103: Hoare triple {28766#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~x~0 (+ main_~b~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0)))))} assume !(0 != ~b~0); {28773#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0))) (= main_~q~0 1))} is VALID [2022-04-15 15:14:23,149 INFO L272 TraceCheckUtils]: 104: Hoare triple {28773#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0))) (= main_~q~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {28777#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:14:23,150 INFO L290 TraceCheckUtils]: 105: Hoare triple {28777#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {28781#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:14:23,150 INFO L290 TraceCheckUtils]: 106: Hoare triple {28781#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {28453#false} is VALID [2022-04-15 15:14:23,150 INFO L290 TraceCheckUtils]: 107: Hoare triple {28453#false} assume !false; {28453#false} is VALID [2022-04-15 15:14:23,151 INFO L134 CoverageAnalysis]: Checked inductivity of 334 backedges. 58 proven. 5 refuted. 0 times theorem prover too weak. 271 trivial. 0 not checked. [2022-04-15 15:14:23,151 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:14:42,032 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:14:42,318 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:14:42,318 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [169414316] [2022-04-15 15:14:42,318 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:14:42,319 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1895189882] [2022-04-15 15:14:42,319 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1895189882] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 15:14:42,319 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:14:42,319 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2022-04-15 15:14:42,319 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:14:42,319 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2081046786] [2022-04-15 15:14:42,319 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2081046786] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:14:42,319 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:14:42,319 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 15:14:42,319 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1988532793] [2022-04-15 15:14:42,319 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:14:42,320 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) Word has length 108 [2022-04-15 15:14:42,320 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:14:42,320 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-15 15:14:42,373 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-15 15:14:42,373 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 15:14:42,373 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:14:42,374 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 15:14:42,374 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=224, Unknown=0, NotChecked=0, Total=272 [2022-04-15 15:14:42,374 INFO L87 Difference]: Start difference. First operand 410 states and 567 transitions. Second operand has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-15 15:14:45,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:14:45,189 INFO L93 Difference]: Finished difference Result 484 states and 662 transitions. [2022-04-15 15:14:45,189 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 15:14:45,189 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) Word has length 108 [2022-04-15 15:14:45,189 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:14:45,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-15 15:14:45,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 114 transitions. [2022-04-15 15:14:45,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-15 15:14:45,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 114 transitions. [2022-04-15 15:14:45,193 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 114 transitions. [2022-04-15 15:14:45,329 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:14:45,341 INFO L225 Difference]: With dead ends: 484 [2022-04-15 15:14:45,341 INFO L226 Difference]: Without dead ends: 481 [2022-04-15 15:14:45,341 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 103 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=93, Invalid=413, Unknown=0, NotChecked=0, Total=506 [2022-04-15 15:14:45,342 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 46 mSDsluCounter, 194 mSDsCounter, 0 mSdLazyCounter, 382 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 235 SdHoareTripleChecker+Invalid, 432 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 382 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-15 15:14:45,342 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 235 Invalid, 432 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 382 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-15 15:14:45,343 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 481 states. [2022-04-15 15:14:46,448 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 481 to 404. [2022-04-15 15:14:46,448 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:14:46,448 INFO L82 GeneralOperation]: Start isEquivalent. First operand 481 states. Second operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) [2022-04-15 15:14:46,449 INFO L74 IsIncluded]: Start isIncluded. First operand 481 states. Second operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) [2022-04-15 15:14:46,449 INFO L87 Difference]: Start difference. First operand 481 states. Second operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) [2022-04-15 15:14:46,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:14:46,460 INFO L93 Difference]: Finished difference Result 481 states and 658 transitions. [2022-04-15 15:14:46,460 INFO L276 IsEmpty]: Start isEmpty. Operand 481 states and 658 transitions. [2022-04-15 15:14:46,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:14:46,461 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:14:46,462 INFO L74 IsIncluded]: Start isIncluded. First operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) Second operand 481 states. [2022-04-15 15:14:46,462 INFO L87 Difference]: Start difference. First operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) Second operand 481 states. [2022-04-15 15:14:46,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:14:46,472 INFO L93 Difference]: Finished difference Result 481 states and 658 transitions. [2022-04-15 15:14:46,472 INFO L276 IsEmpty]: Start isEmpty. Operand 481 states and 658 transitions. [2022-04-15 15:14:46,473 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:14:46,473 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:14:46,473 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:14:46,473 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:14:46,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) [2022-04-15 15:14:46,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 404 states to 404 states and 547 transitions. [2022-04-15 15:14:46,484 INFO L78 Accepts]: Start accepts. Automaton has 404 states and 547 transitions. Word has length 108 [2022-04-15 15:14:46,484 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:14:46,484 INFO L478 AbstractCegarLoop]: Abstraction has 404 states and 547 transitions. [2022-04-15 15:14:46,484 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-15 15:14:46,484 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 404 states and 547 transitions. [2022-04-15 15:14:48,083 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 547 edges. 547 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:14:48,084 INFO L276 IsEmpty]: Start isEmpty. Operand 404 states and 547 transitions. [2022-04-15 15:14:48,084 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-04-15 15:14:48,084 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:14:48,084 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 6, 4, 4, 4, 4, 4, 3, 3, 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, 1, 1, 1] [2022-04-15 15:14:48,100 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-15 15:14:48,285 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:14:48,285 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:14:48,285 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:14:48,285 INFO L85 PathProgramCache]: Analyzing trace with hash 826422219, now seen corresponding path program 9 times [2022-04-15 15:14:48,285 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:14:48,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [767730373] [2022-04-15 15:14:48,286 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:14:48,286 INFO L85 PathProgramCache]: Analyzing trace with hash 826422219, now seen corresponding path program 10 times [2022-04-15 15:14:48,286 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:14:48,286 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1325082906] [2022-04-15 15:14:48,286 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:14:48,286 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:14:48,296 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:14:48,296 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1839305859] [2022-04-15 15:14:48,297 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:14:48,297 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:14:48,297 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:14:48,297 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-15 15:14:48,301 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-15 15:14:48,372 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:14:48,373 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:14:48,374 INFO L263 TraceCheckSpWp]: Trace formula consists of 249 conjuncts, 99 conjunts are in the unsatisfiable core [2022-04-15 15:14:48,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:14:48,397 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:14:50,667 INFO L272 TraceCheckUtils]: 0: Hoare triple {31578#true} call ULTIMATE.init(); {31578#true} is VALID [2022-04-15 15:14:50,667 INFO L290 TraceCheckUtils]: 1: Hoare triple {31578#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(11, 2);call #Ultimate.allocInit(12, 3); {31578#true} is VALID [2022-04-15 15:14:50,667 INFO L290 TraceCheckUtils]: 2: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:14:50,667 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31578#true} {31578#true} #112#return; {31578#true} is VALID [2022-04-15 15:14:50,667 INFO L272 TraceCheckUtils]: 4: Hoare triple {31578#true} call #t~ret6 := main(); {31578#true} is VALID [2022-04-15 15:14:50,667 INFO L290 TraceCheckUtils]: 5: Hoare triple {31578#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {31578#true} is VALID [2022-04-15 15:14:50,667 INFO L272 TraceCheckUtils]: 6: Hoare triple {31578#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:14:50,667 INFO L290 TraceCheckUtils]: 7: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:14:50,668 INFO L290 TraceCheckUtils]: 8: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:14:50,668 INFO L290 TraceCheckUtils]: 9: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:14:50,668 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31578#true} {31578#true} #94#return; {31578#true} is VALID [2022-04-15 15:14:50,668 INFO L290 TraceCheckUtils]: 11: Hoare triple {31578#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {31578#true} is VALID [2022-04-15 15:14:50,668 INFO L272 TraceCheckUtils]: 12: Hoare triple {31578#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:14:50,668 INFO L290 TraceCheckUtils]: 13: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:14:50,668 INFO L290 TraceCheckUtils]: 14: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:14:50,668 INFO L290 TraceCheckUtils]: 15: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:14:50,668 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {31578#true} {31578#true} #96#return; {31578#true} is VALID [2022-04-15 15:14:50,668 INFO L272 TraceCheckUtils]: 17: Hoare triple {31578#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:14:50,668 INFO L290 TraceCheckUtils]: 18: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:14:50,668 INFO L290 TraceCheckUtils]: 19: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:14:50,668 INFO L290 TraceCheckUtils]: 20: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:14:50,668 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31578#true} {31578#true} #98#return; {31578#true} is VALID [2022-04-15 15:14:50,668 INFO L272 TraceCheckUtils]: 22: Hoare triple {31578#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:14:50,669 INFO L290 TraceCheckUtils]: 23: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:14:50,669 INFO L290 TraceCheckUtils]: 24: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:14:50,669 INFO L290 TraceCheckUtils]: 25: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:14:50,669 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {31578#true} {31578#true} #100#return; {31578#true} is VALID [2022-04-15 15:14:50,669 INFO L290 TraceCheckUtils]: 27: Hoare triple {31578#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {31664#(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-15 15:14:50,670 INFO L290 TraceCheckUtils]: 28: Hoare triple {31664#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {31664#(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-15 15:14:50,670 INFO L290 TraceCheckUtils]: 29: Hoare triple {31664#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,670 INFO L290 TraceCheckUtils]: 30: Hoare triple {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,671 INFO L290 TraceCheckUtils]: 31: Hoare triple {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,671 INFO L290 TraceCheckUtils]: 32: Hoare triple {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31681#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 15:14:50,672 INFO L290 TraceCheckUtils]: 33: Hoare triple {31681#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {31681#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 15:14:50,672 INFO L290 TraceCheckUtils]: 34: Hoare triple {31681#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31688#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 15:14:50,672 INFO L290 TraceCheckUtils]: 35: Hoare triple {31688#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {31688#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-15 15:14:50,673 INFO L290 TraceCheckUtils]: 36: Hoare triple {31688#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-15 15:14:50,673 INFO L290 TraceCheckUtils]: 37: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} assume !false; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-15 15:14:50,673 INFO L272 TraceCheckUtils]: 38: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:14:50,673 INFO L290 TraceCheckUtils]: 39: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:14:50,673 INFO L290 TraceCheckUtils]: 40: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:14:50,673 INFO L290 TraceCheckUtils]: 41: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:14:50,674 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {31578#true} {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #102#return; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-15 15:14:50,674 INFO L272 TraceCheckUtils]: 43: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:14:50,674 INFO L290 TraceCheckUtils]: 44: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:14:50,674 INFO L290 TraceCheckUtils]: 45: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:14:50,675 INFO L290 TraceCheckUtils]: 46: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:14:50,675 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {31578#true} {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #104#return; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-15 15:14:50,675 INFO L272 TraceCheckUtils]: 48: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:14:50,675 INFO L290 TraceCheckUtils]: 49: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:14:50,675 INFO L290 TraceCheckUtils]: 50: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:14:50,676 INFO L290 TraceCheckUtils]: 51: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:14:50,676 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {31578#true} {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #106#return; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-15 15:14:50,676 INFO L272 TraceCheckUtils]: 53: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:14:50,676 INFO L290 TraceCheckUtils]: 54: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:14:50,677 INFO L290 TraceCheckUtils]: 55: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:14:50,677 INFO L290 TraceCheckUtils]: 56: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:14:50,677 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {31578#true} {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #108#return; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-15 15:14:50,678 INFO L290 TraceCheckUtils]: 58: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} assume !(~c~0 >= 2 * ~v~0); {31762#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~q~0 1))} is VALID [2022-04-15 15:14:50,679 INFO L290 TraceCheckUtils]: 59: Hoare triple {31762#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~q~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-15 15:14:50,679 INFO L290 TraceCheckUtils]: 60: Hoare triple {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !false; {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-15 15:14:50,679 INFO L290 TraceCheckUtils]: 61: Hoare triple {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !(~c~0 >= ~b~0); {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-15 15:14:50,681 INFO L290 TraceCheckUtils]: 62: Hoare triple {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31776#(and (= main_~r~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,681 INFO L290 TraceCheckUtils]: 63: Hoare triple {31776#(and (= main_~r~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {31776#(and (= main_~r~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,682 INFO L290 TraceCheckUtils]: 64: Hoare triple {31776#(and (= main_~r~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,682 INFO L290 TraceCheckUtils]: 65: Hoare triple {31783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {31783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,683 INFO L290 TraceCheckUtils]: 66: Hoare triple {31783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31790#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~d~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,683 INFO L290 TraceCheckUtils]: 67: Hoare triple {31790#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~d~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {31790#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~d~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,683 INFO L272 TraceCheckUtils]: 68: Hoare triple {31790#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~d~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= 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)); {31578#true} is VALID [2022-04-15 15:14:50,684 INFO L290 TraceCheckUtils]: 69: Hoare triple {31578#true} ~cond := #in~cond; {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:14:50,684 INFO L290 TraceCheckUtils]: 70: Hoare triple {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:50,684 INFO L290 TraceCheckUtils]: 71: Hoare triple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:50,685 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} {31790#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~d~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #102#return; {31811#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,685 INFO L272 TraceCheckUtils]: 73: Hoare triple {31811#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~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)); {31578#true} is VALID [2022-04-15 15:14:50,686 INFO L290 TraceCheckUtils]: 74: Hoare triple {31578#true} ~cond := #in~cond; {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:14:50,686 INFO L290 TraceCheckUtils]: 75: Hoare triple {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:50,686 INFO L290 TraceCheckUtils]: 76: Hoare triple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:50,687 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} {31811#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,687 INFO L272 TraceCheckUtils]: 78: Hoare triple {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:14:50,687 INFO L290 TraceCheckUtils]: 79: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:14:50,687 INFO L290 TraceCheckUtils]: 80: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:14:50,687 INFO L290 TraceCheckUtils]: 81: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:14:50,688 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {31578#true} {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,688 INFO L272 TraceCheckUtils]: 83: Hoare triple {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:14:50,688 INFO L290 TraceCheckUtils]: 84: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:14:50,688 INFO L290 TraceCheckUtils]: 85: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:14:50,688 INFO L290 TraceCheckUtils]: 86: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:14:50,689 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {31578#true} {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,690 INFO L290 TraceCheckUtils]: 88: Hoare triple {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {31861#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (< main_~c~0 (* main_~v~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,690 INFO L290 TraceCheckUtils]: 89: Hoare triple {31861#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (< main_~c~0 (* main_~v~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,691 INFO L290 TraceCheckUtils]: 90: Hoare triple {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,691 INFO L290 TraceCheckUtils]: 91: Hoare triple {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 15:14:50,693 INFO L290 TraceCheckUtils]: 92: Hoare triple {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-15 15:14:50,693 INFO L290 TraceCheckUtils]: 93: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} assume !false; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-15 15:14:50,694 INFO L290 TraceCheckUtils]: 94: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-15 15:14:50,694 INFO L290 TraceCheckUtils]: 95: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} assume !false; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-15 15:14:50,695 INFO L290 TraceCheckUtils]: 96: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-15 15:14:50,695 INFO L290 TraceCheckUtils]: 97: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} assume !false; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-15 15:14:50,696 INFO L272 TraceCheckUtils]: 98: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:14:50,696 INFO L290 TraceCheckUtils]: 99: Hoare triple {31578#true} ~cond := #in~cond; {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:14:50,696 INFO L290 TraceCheckUtils]: 100: Hoare triple {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:50,696 INFO L290 TraceCheckUtils]: 101: Hoare triple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:14:50,698 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} #102#return; {31906#(and (< main_~y~0 (* main_~x~0 2)) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ (- 1) main_~q~0) 1) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 1) main_~x~0))))} is VALID [2022-04-15 15:14:50,699 INFO L272 TraceCheckUtils]: 103: Hoare triple {31906#(and (< main_~y~0 (* main_~x~0 2)) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ (- 1) main_~q~0) 1) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 1) main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31910#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:14:50,699 INFO L290 TraceCheckUtils]: 104: Hoare triple {31910#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {31914#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:14:50,700 INFO L290 TraceCheckUtils]: 105: Hoare triple {31914#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31579#false} is VALID [2022-04-15 15:14:50,700 INFO L290 TraceCheckUtils]: 106: Hoare triple {31579#false} assume !false; {31579#false} is VALID [2022-04-15 15:14:50,700 INFO L134 CoverageAnalysis]: Checked inductivity of 244 backedges. 57 proven. 73 refuted. 0 times theorem prover too weak. 114 trivial. 0 not checked. [2022-04-15 15:14:50,700 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:15:31,593 INFO L290 TraceCheckUtils]: 106: Hoare triple {31579#false} assume !false; {31579#false} is VALID [2022-04-15 15:15:31,594 INFO L290 TraceCheckUtils]: 105: Hoare triple {31914#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31579#false} is VALID [2022-04-15 15:15:31,594 INFO L290 TraceCheckUtils]: 104: Hoare triple {31910#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {31914#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:15:31,595 INFO L272 TraceCheckUtils]: 103: Hoare triple {31930#(= 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)); {31910#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:15:31,595 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} {31934#(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)))))} #102#return; {31930#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 15:15:31,596 INFO L290 TraceCheckUtils]: 101: Hoare triple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:15:31,596 INFO L290 TraceCheckUtils]: 100: Hoare triple {31944#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:15:31,596 INFO L290 TraceCheckUtils]: 99: Hoare triple {31578#true} ~cond := #in~cond; {31944#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:15:31,596 INFO L272 TraceCheckUtils]: 98: Hoare triple {31934#(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)); {31578#true} is VALID [2022-04-15 15:15:31,597 INFO L290 TraceCheckUtils]: 97: Hoare triple {31934#(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 !false; {31934#(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-15 15:15:31,597 INFO L290 TraceCheckUtils]: 96: Hoare triple {31934#(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 !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31934#(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-15 15:15:31,597 INFO L290 TraceCheckUtils]: 95: Hoare triple {31934#(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 !false; {31934#(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-15 15:15:31,598 INFO L290 TraceCheckUtils]: 94: Hoare triple {31934#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31934#(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-15 15:15:31,598 INFO L290 TraceCheckUtils]: 93: Hoare triple {31934#(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 !false; {31934#(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-15 15:15:31,612 INFO L290 TraceCheckUtils]: 92: Hoare triple {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31934#(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-15 15:15:31,612 INFO L290 TraceCheckUtils]: 91: Hoare triple {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= ~b~0); {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:15:31,613 INFO L290 TraceCheckUtils]: 90: Hoare triple {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:15:31,618 INFO L290 TraceCheckUtils]: 89: Hoare triple {31976#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:15:31,618 INFO L290 TraceCheckUtils]: 88: Hoare triple {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= 2 * ~v~0); {31976#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:15:31,619 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {31578#true} {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #108#return; {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:15:31,619 INFO L290 TraceCheckUtils]: 86: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:15:31,619 INFO L290 TraceCheckUtils]: 85: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:15:31,619 INFO L290 TraceCheckUtils]: 84: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:15:31,619 INFO L272 TraceCheckUtils]: 83: Hoare triple {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:15:31,620 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {31578#true} {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #106#return; {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:15:31,620 INFO L290 TraceCheckUtils]: 81: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:15:31,620 INFO L290 TraceCheckUtils]: 80: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:15:31,620 INFO L290 TraceCheckUtils]: 79: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:15:31,620 INFO L272 TraceCheckUtils]: 78: Hoare triple {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:15:31,620 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {31578#true} {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #104#return; {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:15:31,621 INFO L290 TraceCheckUtils]: 76: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:15:31,621 INFO L290 TraceCheckUtils]: 75: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:15:31,621 INFO L290 TraceCheckUtils]: 74: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:15:31,621 INFO L272 TraceCheckUtils]: 73: Hoare triple {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~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)); {31578#true} is VALID [2022-04-15 15:15:31,621 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} {32029#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #102#return; {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:15:31,622 INFO L290 TraceCheckUtils]: 71: Hoare triple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:15:31,622 INFO L290 TraceCheckUtils]: 70: Hoare triple {31944#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:15:31,622 INFO L290 TraceCheckUtils]: 69: Hoare triple {31578#true} ~cond := #in~cond; {31944#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:15:31,622 INFO L272 TraceCheckUtils]: 68: Hoare triple {32029#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~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)); {31578#true} is VALID [2022-04-15 15:15:31,623 INFO L290 TraceCheckUtils]: 67: Hoare triple {32029#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {32029#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:15:31,623 INFO L290 TraceCheckUtils]: 66: Hoare triple {32048#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {32029#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:15:31,624 INFO L290 TraceCheckUtils]: 65: Hoare triple {32048#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {32048#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:15:31,626 INFO L290 TraceCheckUtils]: 64: Hoare triple {31578#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {32048#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:15:31,626 INFO L290 TraceCheckUtils]: 63: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-15 15:15:31,626 INFO L290 TraceCheckUtils]: 62: Hoare triple {31578#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31578#true} is VALID [2022-04-15 15:15:31,626 INFO L290 TraceCheckUtils]: 61: Hoare triple {31578#true} assume !(~c~0 >= ~b~0); {31578#true} is VALID [2022-04-15 15:15:31,626 INFO L290 TraceCheckUtils]: 60: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-15 15:15:31,626 INFO L290 TraceCheckUtils]: 59: Hoare triple {31578#true} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {31578#true} is VALID [2022-04-15 15:15:31,626 INFO L290 TraceCheckUtils]: 58: Hoare triple {31578#true} assume !(~c~0 >= 2 * ~v~0); {31578#true} is VALID [2022-04-15 15:15:31,626 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {31578#true} {31578#true} #108#return; {31578#true} is VALID [2022-04-15 15:15:31,626 INFO L290 TraceCheckUtils]: 56: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:15:31,626 INFO L290 TraceCheckUtils]: 55: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:15:31,626 INFO L290 TraceCheckUtils]: 54: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:15:31,627 INFO L272 TraceCheckUtils]: 53: Hoare triple {31578#true} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:15:31,627 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {31578#true} {31578#true} #106#return; {31578#true} is VALID [2022-04-15 15:15:31,627 INFO L290 TraceCheckUtils]: 51: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:15:31,627 INFO L290 TraceCheckUtils]: 50: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:15:31,627 INFO L290 TraceCheckUtils]: 49: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:15:31,627 INFO L272 TraceCheckUtils]: 48: Hoare triple {31578#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:15:31,627 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {31578#true} {31578#true} #104#return; {31578#true} is VALID [2022-04-15 15:15:31,627 INFO L290 TraceCheckUtils]: 46: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:15:31,627 INFO L290 TraceCheckUtils]: 45: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:15:31,627 INFO L290 TraceCheckUtils]: 44: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:15:31,627 INFO L272 TraceCheckUtils]: 43: Hoare triple {31578#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:15:31,627 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {31578#true} {31578#true} #102#return; {31578#true} is VALID [2022-04-15 15:15:31,627 INFO L290 TraceCheckUtils]: 41: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:15:31,627 INFO L290 TraceCheckUtils]: 40: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:15:31,627 INFO L290 TraceCheckUtils]: 39: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:15:31,628 INFO L272 TraceCheckUtils]: 38: Hoare triple {31578#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:15:31,628 INFO L290 TraceCheckUtils]: 37: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-15 15:15:31,628 INFO L290 TraceCheckUtils]: 36: Hoare triple {31578#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31578#true} is VALID [2022-04-15 15:15:31,628 INFO L290 TraceCheckUtils]: 35: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-15 15:15:31,628 INFO L290 TraceCheckUtils]: 34: Hoare triple {31578#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31578#true} is VALID [2022-04-15 15:15:31,628 INFO L290 TraceCheckUtils]: 33: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-15 15:15:31,628 INFO L290 TraceCheckUtils]: 32: Hoare triple {31578#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31578#true} is VALID [2022-04-15 15:15:31,628 INFO L290 TraceCheckUtils]: 31: Hoare triple {31578#true} assume !(~c~0 >= ~b~0); {31578#true} is VALID [2022-04-15 15:15:31,628 INFO L290 TraceCheckUtils]: 30: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-15 15:15:31,628 INFO L290 TraceCheckUtils]: 29: Hoare triple {31578#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31578#true} is VALID [2022-04-15 15:15:31,628 INFO L290 TraceCheckUtils]: 28: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-15 15:15:31,628 INFO L290 TraceCheckUtils]: 27: Hoare triple {31578#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {31578#true} is VALID [2022-04-15 15:15:31,628 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {31578#true} {31578#true} #100#return; {31578#true} is VALID [2022-04-15 15:15:31,628 INFO L290 TraceCheckUtils]: 25: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:15:31,629 INFO L290 TraceCheckUtils]: 24: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:15:31,629 INFO L290 TraceCheckUtils]: 23: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:15:31,629 INFO L272 TraceCheckUtils]: 22: Hoare triple {31578#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:15:31,629 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31578#true} {31578#true} #98#return; {31578#true} is VALID [2022-04-15 15:15:31,629 INFO L290 TraceCheckUtils]: 20: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:15:31,629 INFO L290 TraceCheckUtils]: 19: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:15:31,629 INFO L290 TraceCheckUtils]: 18: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:15:31,629 INFO L272 TraceCheckUtils]: 17: Hoare triple {31578#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:15:31,629 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {31578#true} {31578#true} #96#return; {31578#true} is VALID [2022-04-15 15:15:31,629 INFO L290 TraceCheckUtils]: 15: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:15:31,629 INFO L290 TraceCheckUtils]: 14: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:15:31,629 INFO L290 TraceCheckUtils]: 13: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:15:31,629 INFO L272 TraceCheckUtils]: 12: Hoare triple {31578#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:15:31,629 INFO L290 TraceCheckUtils]: 11: Hoare triple {31578#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {31578#true} is VALID [2022-04-15 15:15:31,629 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31578#true} {31578#true} #94#return; {31578#true} is VALID [2022-04-15 15:15:31,630 INFO L290 TraceCheckUtils]: 9: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:15:31,630 INFO L290 TraceCheckUtils]: 8: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-15 15:15:31,630 INFO L290 TraceCheckUtils]: 7: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-15 15:15:31,630 INFO L272 TraceCheckUtils]: 6: Hoare triple {31578#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {31578#true} is VALID [2022-04-15 15:15:31,630 INFO L290 TraceCheckUtils]: 5: Hoare triple {31578#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {31578#true} is VALID [2022-04-15 15:15:31,630 INFO L272 TraceCheckUtils]: 4: Hoare triple {31578#true} call #t~ret6 := main(); {31578#true} is VALID [2022-04-15 15:15:31,630 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31578#true} {31578#true} #112#return; {31578#true} is VALID [2022-04-15 15:15:31,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-15 15:15:31,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {31578#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(11, 2);call #Ultimate.allocInit(12, 3); {31578#true} is VALID [2022-04-15 15:15:31,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {31578#true} call ULTIMATE.init(); {31578#true} is VALID [2022-04-15 15:15:31,631 INFO L134 CoverageAnalysis]: Checked inductivity of 244 backedges. 87 proven. 18 refuted. 0 times theorem prover too weak. 139 trivial. 0 not checked. [2022-04-15 15:15:31,631 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:15:31,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1325082906] [2022-04-15 15:15:31,631 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:15:31,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1839305859] [2022-04-15 15:15:31,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1839305859] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:15:31,631 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:15:31,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 13] total 30 [2022-04-15 15:15:31,632 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:15:31,632 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [767730373] [2022-04-15 15:15:31,632 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [767730373] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:15:31,632 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:15:31,632 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-15 15:15:31,632 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [41565636] [2022-04-15 15:15:31,632 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:15:31,641 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 107 [2022-04-15 15:15:31,641 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:15:31,642 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:15:31,718 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:15:31,718 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-15 15:15:31,718 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:15:31,718 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-15 15:15:31,718 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=127, Invalid=743, Unknown=0, NotChecked=0, Total=870 [2022-04-15 15:15:31,721 INFO L87 Difference]: Start difference. First operand 404 states and 547 transitions. Second operand has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:15:39,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:15:39,681 INFO L93 Difference]: Finished difference Result 515 states and 695 transitions. [2022-04-15 15:15:39,681 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-15 15:15:39,682 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 107 [2022-04-15 15:15:39,682 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:15:39,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:15:39,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 195 transitions. [2022-04-15 15:15:39,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:15:39,698 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 195 transitions. [2022-04-15 15:15:39,698 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 195 transitions. [2022-04-15 15:15:39,924 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 195 edges. 195 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:15:39,945 INFO L225 Difference]: With dead ends: 515 [2022-04-15 15:15:39,945 INFO L226 Difference]: Without dead ends: 513 [2022-04-15 15:15:39,945 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 223 GetRequests, 183 SyntacticMatches, 2 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 292 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=222, Invalid=1338, Unknown=0, NotChecked=0, Total=1560 [2022-04-15 15:15:39,946 INFO L913 BasicCegarLoop]: 56 mSDtfsCounter, 81 mSDsluCounter, 525 mSDsCounter, 0 mSdLazyCounter, 1642 mSolverCounterSat, 73 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 103 SdHoareTripleChecker+Valid, 581 SdHoareTripleChecker+Invalid, 1715 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 73 IncrementalHoareTripleChecker+Valid, 1642 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.8s IncrementalHoareTripleChecker+Time [2022-04-15 15:15:39,946 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [103 Valid, 581 Invalid, 1715 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [73 Valid, 1642 Invalid, 0 Unknown, 0 Unchecked, 2.8s Time] [2022-04-15 15:15:39,950 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 513 states. [2022-04-15 15:15:41,718 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 513 to 491. [2022-04-15 15:15:41,718 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:15:41,719 INFO L82 GeneralOperation]: Start isEquivalent. First operand 513 states. Second operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) [2022-04-15 15:15:41,720 INFO L74 IsIncluded]: Start isIncluded. First operand 513 states. Second operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) [2022-04-15 15:15:41,720 INFO L87 Difference]: Start difference. First operand 513 states. Second operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) [2022-04-15 15:15:41,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:15:41,731 INFO L93 Difference]: Finished difference Result 513 states and 693 transitions. [2022-04-15 15:15:41,731 INFO L276 IsEmpty]: Start isEmpty. Operand 513 states and 693 transitions. [2022-04-15 15:15:41,732 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:15:41,732 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:15:41,732 INFO L74 IsIncluded]: Start isIncluded. First operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) Second operand 513 states. [2022-04-15 15:15:41,733 INFO L87 Difference]: Start difference. First operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) Second operand 513 states. [2022-04-15 15:15:41,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:15:41,744 INFO L93 Difference]: Finished difference Result 513 states and 693 transitions. [2022-04-15 15:15:41,744 INFO L276 IsEmpty]: Start isEmpty. Operand 513 states and 693 transitions. [2022-04-15 15:15:41,745 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:15:41,745 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:15:41,745 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:15:41,745 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:15:41,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) [2022-04-15 15:15:41,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 491 states to 491 states and 671 transitions. [2022-04-15 15:15:41,759 INFO L78 Accepts]: Start accepts. Automaton has 491 states and 671 transitions. Word has length 107 [2022-04-15 15:15:41,759 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:15:41,759 INFO L478 AbstractCegarLoop]: Abstraction has 491 states and 671 transitions. [2022-04-15 15:15:41,759 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:15:41,759 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 491 states and 671 transitions. [2022-04-15 15:15:43,692 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 671 edges. 671 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:15:43,693 INFO L276 IsEmpty]: Start isEmpty. Operand 491 states and 671 transitions. [2022-04-15 15:15:43,693 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-15 15:15:43,693 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:15:43,693 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 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-15 15:15:43,710 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-15 15:15:43,910 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:15:43,910 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:15:43,910 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:15:43,911 INFO L85 PathProgramCache]: Analyzing trace with hash 1002671399, now seen corresponding path program 7 times [2022-04-15 15:15:43,911 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:15:43,911 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [855903314] [2022-04-15 15:15:43,911 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:15:43,911 INFO L85 PathProgramCache]: Analyzing trace with hash 1002671399, now seen corresponding path program 8 times [2022-04-15 15:15:43,911 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:15:43,911 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [976520494] [2022-04-15 15:15:43,911 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:15:43,911 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:15:43,931 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:15:43,931 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [497030162] [2022-04-15 15:15:43,931 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:15:43,931 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:15:43,931 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:15:43,932 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-15 15:15:43,951 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-15 15:15:44,007 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:15:44,007 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:15:44,009 INFO L263 TraceCheckSpWp]: Trace formula consists of 267 conjuncts, 74 conjunts are in the unsatisfiable core [2022-04-15 15:15:44,023 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:15:44,027 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:15:45,054 INFO L272 TraceCheckUtils]: 0: Hoare triple {35307#true} call ULTIMATE.init(); {35307#true} is VALID [2022-04-15 15:15:45,055 INFO L290 TraceCheckUtils]: 1: Hoare triple {35307#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(11, 2);call #Ultimate.allocInit(12, 3); {35307#true} is VALID [2022-04-15 15:15:45,055 INFO L290 TraceCheckUtils]: 2: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:15:45,055 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35307#true} {35307#true} #112#return; {35307#true} is VALID [2022-04-15 15:15:45,055 INFO L272 TraceCheckUtils]: 4: Hoare triple {35307#true} call #t~ret6 := main(); {35307#true} is VALID [2022-04-15 15:15:45,055 INFO L290 TraceCheckUtils]: 5: Hoare triple {35307#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {35307#true} is VALID [2022-04-15 15:15:45,055 INFO L272 TraceCheckUtils]: 6: Hoare triple {35307#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:15:45,055 INFO L290 TraceCheckUtils]: 7: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:15:45,055 INFO L290 TraceCheckUtils]: 8: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:15:45,055 INFO L290 TraceCheckUtils]: 9: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:15:45,055 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35307#true} {35307#true} #94#return; {35307#true} is VALID [2022-04-15 15:15:45,056 INFO L290 TraceCheckUtils]: 11: Hoare triple {35307#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35307#true} is VALID [2022-04-15 15:15:45,056 INFO L272 TraceCheckUtils]: 12: Hoare triple {35307#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:15:45,056 INFO L290 TraceCheckUtils]: 13: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:15:45,056 INFO L290 TraceCheckUtils]: 14: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:15:45,056 INFO L290 TraceCheckUtils]: 15: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:15:45,056 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {35307#true} {35307#true} #96#return; {35307#true} is VALID [2022-04-15 15:15:45,056 INFO L272 TraceCheckUtils]: 17: Hoare triple {35307#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:15:45,056 INFO L290 TraceCheckUtils]: 18: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:15:45,056 INFO L290 TraceCheckUtils]: 19: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:15:45,056 INFO L290 TraceCheckUtils]: 20: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:15:45,056 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {35307#true} {35307#true} #98#return; {35307#true} is VALID [2022-04-15 15:15:45,056 INFO L272 TraceCheckUtils]: 22: Hoare triple {35307#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:15:45,056 INFO L290 TraceCheckUtils]: 23: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:15:45,056 INFO L290 TraceCheckUtils]: 24: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:15:45,056 INFO L290 TraceCheckUtils]: 25: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:15:45,057 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {35307#true} {35307#true} #100#return; {35307#true} is VALID [2022-04-15 15:15:45,057 INFO L290 TraceCheckUtils]: 27: Hoare triple {35307#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {35393#(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-15 15:15:45,057 INFO L290 TraceCheckUtils]: 28: Hoare triple {35393#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35393#(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-15 15:15:45,058 INFO L290 TraceCheckUtils]: 29: Hoare triple {35393#(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 !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {35400#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-15 15:15:45,058 INFO L290 TraceCheckUtils]: 30: Hoare triple {35400#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35400#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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-15 15:15:45,058 INFO L290 TraceCheckUtils]: 31: Hoare triple {35400#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~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 !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,058 INFO L290 TraceCheckUtils]: 32: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,059 INFO L272 TraceCheckUtils]: 33: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~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)); {35307#true} is VALID [2022-04-15 15:15:45,059 INFO L290 TraceCheckUtils]: 34: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:15:45,059 INFO L290 TraceCheckUtils]: 35: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:15:45,059 INFO L290 TraceCheckUtils]: 36: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:15:45,059 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {35307#true} {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,059 INFO L272 TraceCheckUtils]: 38: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~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)); {35307#true} is VALID [2022-04-15 15:15:45,059 INFO L290 TraceCheckUtils]: 39: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:15:45,060 INFO L290 TraceCheckUtils]: 40: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:15:45,060 INFO L290 TraceCheckUtils]: 41: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:15:45,060 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {35307#true} {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,060 INFO L272 TraceCheckUtils]: 43: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:15:45,060 INFO L290 TraceCheckUtils]: 44: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:15:45,060 INFO L290 TraceCheckUtils]: 45: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:15:45,060 INFO L290 TraceCheckUtils]: 46: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:15:45,061 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {35307#true} {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #106#return; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,061 INFO L272 TraceCheckUtils]: 48: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:15:45,061 INFO L290 TraceCheckUtils]: 49: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:15:45,061 INFO L290 TraceCheckUtils]: 50: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:15:45,061 INFO L290 TraceCheckUtils]: 51: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:15:45,061 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {35307#true} {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #108#return; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,062 INFO L290 TraceCheckUtils]: 53: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,062 INFO L290 TraceCheckUtils]: 54: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,062 INFO L272 TraceCheckUtils]: 55: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= 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)); {35307#true} is VALID [2022-04-15 15:15:45,062 INFO L290 TraceCheckUtils]: 56: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:15:45,062 INFO L290 TraceCheckUtils]: 57: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:15:45,069 INFO L290 TraceCheckUtils]: 58: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:15:45,069 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35307#true} {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,070 INFO L272 TraceCheckUtils]: 60: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= 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)); {35307#true} is VALID [2022-04-15 15:15:45,070 INFO L290 TraceCheckUtils]: 61: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:15:45,070 INFO L290 TraceCheckUtils]: 62: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:15:45,070 INFO L290 TraceCheckUtils]: 63: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:15:45,070 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35307#true} {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,070 INFO L272 TraceCheckUtils]: 65: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:15:45,070 INFO L290 TraceCheckUtils]: 66: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:15:45,070 INFO L290 TraceCheckUtils]: 67: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:15:45,071 INFO L290 TraceCheckUtils]: 68: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:15:45,071 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {35307#true} {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #106#return; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,071 INFO L272 TraceCheckUtils]: 70: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:15:45,071 INFO L290 TraceCheckUtils]: 71: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:15:45,071 INFO L290 TraceCheckUtils]: 72: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:15:45,071 INFO L290 TraceCheckUtils]: 73: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:15:45,072 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {35307#true} {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #108#return; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,072 INFO L290 TraceCheckUtils]: 75: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,073 INFO L290 TraceCheckUtils]: 76: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {35544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,074 INFO L290 TraceCheckUtils]: 77: Hoare triple {35544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,074 INFO L290 TraceCheckUtils]: 78: Hoare triple {35544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,074 INFO L290 TraceCheckUtils]: 79: Hoare triple {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,074 INFO L272 TraceCheckUtils]: 80: Hoare triple {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= 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)); {35307#true} is VALID [2022-04-15 15:15:45,075 INFO L290 TraceCheckUtils]: 81: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:15:45,075 INFO L290 TraceCheckUtils]: 82: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:15:45,075 INFO L290 TraceCheckUtils]: 83: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:15:45,075 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {35307#true} {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,075 INFO L272 TraceCheckUtils]: 85: Hoare triple {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= 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)); {35307#true} is VALID [2022-04-15 15:15:45,075 INFO L290 TraceCheckUtils]: 86: Hoare triple {35307#true} ~cond := #in~cond; {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:15:45,076 INFO L290 TraceCheckUtils]: 87: Hoare triple {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:15:45,076 INFO L290 TraceCheckUtils]: 88: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:15:45,076 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,076 INFO L272 TraceCheckUtils]: 90: Hoare triple {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:15:45,077 INFO L290 TraceCheckUtils]: 91: Hoare triple {35307#true} ~cond := #in~cond; {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:15:45,077 INFO L290 TraceCheckUtils]: 92: Hoare triple {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:15:45,077 INFO L290 TraceCheckUtils]: 93: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:15:45,078 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #106#return; {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,078 INFO L272 TraceCheckUtils]: 95: Hoare triple {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:15:45,078 INFO L290 TraceCheckUtils]: 96: Hoare triple {35307#true} ~cond := #in~cond; {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:15:45,078 INFO L290 TraceCheckUtils]: 97: Hoare triple {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:15:45,078 INFO L290 TraceCheckUtils]: 98: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:15:45,079 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} #108#return; {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,079 INFO L290 TraceCheckUtils]: 100: Hoare triple {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,080 INFO L290 TraceCheckUtils]: 101: Hoare triple {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,080 INFO L290 TraceCheckUtils]: 102: Hoare triple {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} assume !false; {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,081 INFO L290 TraceCheckUtils]: 103: Hoare triple {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} is VALID [2022-04-15 15:15:45,081 INFO L290 TraceCheckUtils]: 104: Hoare triple {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {35634#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~x~0 (+ main_~b~0 (* main_~y~0 3))) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} is VALID [2022-04-15 15:15:45,081 INFO L290 TraceCheckUtils]: 105: Hoare triple {35634#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~x~0 (+ main_~b~0 (* main_~y~0 3))) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} assume !false; {35634#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~x~0 (+ main_~b~0 (* main_~y~0 3))) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} is VALID [2022-04-15 15:15:45,082 INFO L290 TraceCheckUtils]: 106: Hoare triple {35634#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~x~0 (+ main_~b~0 (* main_~y~0 3))) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} assume !(0 != ~b~0); {35641#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= (+ main_~x~0 (* main_~y~0 (- 3))) 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} is VALID [2022-04-15 15:15:45,082 INFO L272 TraceCheckUtils]: 107: Hoare triple {35641#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= (+ main_~x~0 (* main_~y~0 (- 3))) 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {35645#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:15:45,082 INFO L290 TraceCheckUtils]: 108: Hoare triple {35645#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35649#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:15:45,083 INFO L290 TraceCheckUtils]: 109: Hoare triple {35649#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35308#false} is VALID [2022-04-15 15:15:45,083 INFO L290 TraceCheckUtils]: 110: Hoare triple {35308#false} assume !false; {35308#false} is VALID [2022-04-15 15:15:45,083 INFO L134 CoverageAnalysis]: Checked inductivity of 339 backedges. 102 proven. 30 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-15 15:15:45,083 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:16:31,318 INFO L290 TraceCheckUtils]: 110: Hoare triple {35308#false} assume !false; {35308#false} is VALID [2022-04-15 15:16:31,318 INFO L290 TraceCheckUtils]: 109: Hoare triple {35649#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35308#false} is VALID [2022-04-15 15:16:31,318 INFO L290 TraceCheckUtils]: 108: Hoare triple {35645#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35649#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:16:31,319 INFO L272 TraceCheckUtils]: 107: Hoare triple {35665#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {35645#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:16:31,320 INFO L290 TraceCheckUtils]: 106: Hoare triple {35669#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {35665#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 15:16:31,320 INFO L290 TraceCheckUtils]: 105: Hoare triple {35669#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {35669#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-15 15:16:31,388 INFO L290 TraceCheckUtils]: 104: Hoare triple {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {35669#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-15 15:16:31,389 INFO L290 TraceCheckUtils]: 103: Hoare triple {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:16:31,390 INFO L290 TraceCheckUtils]: 102: Hoare triple {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:16:31,505 INFO L290 TraceCheckUtils]: 101: Hoare triple {35686#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:16:31,505 INFO L290 TraceCheckUtils]: 100: Hoare triple {35686#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {35686#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:16:31,506 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35693#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {35686#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:16:31,506 INFO L290 TraceCheckUtils]: 98: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:16:31,507 INFO L290 TraceCheckUtils]: 97: Hoare triple {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:16:31,507 INFO L290 TraceCheckUtils]: 96: Hoare triple {35307#true} ~cond := #in~cond; {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:16:31,507 INFO L272 TraceCheckUtils]: 95: Hoare triple {35693#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:16:31,508 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35710#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {35693#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:16:31,508 INFO L290 TraceCheckUtils]: 93: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:16:31,509 INFO L290 TraceCheckUtils]: 92: Hoare triple {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:16:31,509 INFO L290 TraceCheckUtils]: 91: Hoare triple {35307#true} ~cond := #in~cond; {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:16:31,509 INFO L272 TraceCheckUtils]: 90: Hoare triple {35710#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:16:31,510 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {35710#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:16:31,510 INFO L290 TraceCheckUtils]: 88: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:16:31,511 INFO L290 TraceCheckUtils]: 87: Hoare triple {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:16:31,511 INFO L290 TraceCheckUtils]: 86: Hoare triple {35307#true} ~cond := #in~cond; {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:16:31,511 INFO L272 TraceCheckUtils]: 85: Hoare triple {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {35307#true} is VALID [2022-04-15 15:16:31,512 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {35307#true} {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:16:31,512 INFO L290 TraceCheckUtils]: 83: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:16:31,512 INFO L290 TraceCheckUtils]: 82: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:16:31,512 INFO L290 TraceCheckUtils]: 81: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:16:31,512 INFO L272 TraceCheckUtils]: 80: Hoare triple {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~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)); {35307#true} is VALID [2022-04-15 15:16:31,513 INFO L290 TraceCheckUtils]: 79: Hoare triple {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:16:31,514 INFO L290 TraceCheckUtils]: 78: Hoare triple {35760#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-15 15:16:31,515 INFO L290 TraceCheckUtils]: 77: Hoare triple {35760#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} assume !false; {35760#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-15 15:16:31,576 INFO L290 TraceCheckUtils]: 76: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {35760#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-15 15:16:31,577 INFO L290 TraceCheckUtils]: 75: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} assume !(~c~0 >= 2 * ~v~0); {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-15 15:16:31,578 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {35307#true} {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} #108#return; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-15 15:16:31,578 INFO L290 TraceCheckUtils]: 73: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:16:31,578 INFO L290 TraceCheckUtils]: 72: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:16:31,578 INFO L290 TraceCheckUtils]: 71: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:16:31,578 INFO L272 TraceCheckUtils]: 70: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:16:31,579 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {35307#true} {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} #106#return; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-15 15:16:31,579 INFO L290 TraceCheckUtils]: 68: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:16:31,579 INFO L290 TraceCheckUtils]: 67: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:16:31,579 INFO L290 TraceCheckUtils]: 66: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:16:31,579 INFO L272 TraceCheckUtils]: 65: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:16:31,580 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35307#true} {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} #104#return; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-15 15:16:31,580 INFO L290 TraceCheckUtils]: 63: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:16:31,580 INFO L290 TraceCheckUtils]: 62: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:16:31,580 INFO L290 TraceCheckUtils]: 61: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:16:31,580 INFO L272 TraceCheckUtils]: 60: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:16:31,581 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35307#true} {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} #102#return; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-15 15:16:31,581 INFO L290 TraceCheckUtils]: 58: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:16:31,581 INFO L290 TraceCheckUtils]: 57: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:16:31,581 INFO L290 TraceCheckUtils]: 56: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:16:31,581 INFO L272 TraceCheckUtils]: 55: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:16:31,582 INFO L290 TraceCheckUtils]: 54: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} assume !false; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-15 15:16:31,692 INFO L290 TraceCheckUtils]: 53: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-15 15:16:31,693 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {35307#true} {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} #108#return; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-15 15:16:31,693 INFO L290 TraceCheckUtils]: 51: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:16:31,693 INFO L290 TraceCheckUtils]: 50: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:16:31,693 INFO L290 TraceCheckUtils]: 49: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:16:31,693 INFO L272 TraceCheckUtils]: 48: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:16:31,694 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {35307#true} {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} #106#return; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-15 15:16:31,694 INFO L290 TraceCheckUtils]: 46: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:16:31,694 INFO L290 TraceCheckUtils]: 45: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:16:31,694 INFO L290 TraceCheckUtils]: 44: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:16:31,694 INFO L272 TraceCheckUtils]: 43: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:16:31,695 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {35307#true} {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} #104#return; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-15 15:16:31,695 INFO L290 TraceCheckUtils]: 41: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:16:31,695 INFO L290 TraceCheckUtils]: 40: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:16:31,695 INFO L290 TraceCheckUtils]: 39: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:16:31,695 INFO L272 TraceCheckUtils]: 38: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:16:31,696 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {35307#true} {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} #102#return; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-15 15:16:31,696 INFO L290 TraceCheckUtils]: 36: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:16:31,696 INFO L290 TraceCheckUtils]: 35: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:16:31,696 INFO L290 TraceCheckUtils]: 34: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:16:31,696 INFO L272 TraceCheckUtils]: 33: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:16:31,697 INFO L290 TraceCheckUtils]: 32: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} assume !false; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-15 15:16:31,698 INFO L290 TraceCheckUtils]: 31: Hoare triple {35904#(or (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)))) (not (= (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-15 15:16:31,698 INFO L290 TraceCheckUtils]: 30: Hoare triple {35904#(or (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)))) (not (= (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {35904#(or (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)))) (not (= (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:16:31,699 INFO L290 TraceCheckUtils]: 29: Hoare triple {35911#(or (= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) main_~b~0 (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {35904#(or (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)))) (not (= (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:16:31,699 INFO L290 TraceCheckUtils]: 28: Hoare triple {35911#(or (= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) main_~b~0 (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {35911#(or (= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) main_~b~0 (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:16:31,700 INFO L290 TraceCheckUtils]: 27: Hoare triple {35307#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {35911#(or (= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) main_~b~0 (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 15:16:31,700 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {35307#true} {35307#true} #100#return; {35307#true} is VALID [2022-04-15 15:16:31,700 INFO L290 TraceCheckUtils]: 25: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:16:31,700 INFO L290 TraceCheckUtils]: 24: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:16:31,700 INFO L290 TraceCheckUtils]: 23: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:16:31,700 INFO L272 TraceCheckUtils]: 22: Hoare triple {35307#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:16:31,700 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {35307#true} {35307#true} #98#return; {35307#true} is VALID [2022-04-15 15:16:31,700 INFO L290 TraceCheckUtils]: 20: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:16:31,700 INFO L290 TraceCheckUtils]: 19: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:16:31,700 INFO L290 TraceCheckUtils]: 18: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:16:31,700 INFO L272 TraceCheckUtils]: 17: Hoare triple {35307#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:16:31,701 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {35307#true} {35307#true} #96#return; {35307#true} is VALID [2022-04-15 15:16:31,701 INFO L290 TraceCheckUtils]: 15: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:16:31,701 INFO L290 TraceCheckUtils]: 14: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:16:31,701 INFO L290 TraceCheckUtils]: 13: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:16:31,701 INFO L272 TraceCheckUtils]: 12: Hoare triple {35307#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:16:31,701 INFO L290 TraceCheckUtils]: 11: Hoare triple {35307#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35307#true} is VALID [2022-04-15 15:16:31,701 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35307#true} {35307#true} #94#return; {35307#true} is VALID [2022-04-15 15:16:31,701 INFO L290 TraceCheckUtils]: 9: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:16:31,701 INFO L290 TraceCheckUtils]: 8: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-15 15:16:31,701 INFO L290 TraceCheckUtils]: 7: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-15 15:16:31,701 INFO L272 TraceCheckUtils]: 6: Hoare triple {35307#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {35307#true} is VALID [2022-04-15 15:16:31,701 INFO L290 TraceCheckUtils]: 5: Hoare triple {35307#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {35307#true} is VALID [2022-04-15 15:16:31,701 INFO L272 TraceCheckUtils]: 4: Hoare triple {35307#true} call #t~ret6 := main(); {35307#true} is VALID [2022-04-15 15:16:31,701 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35307#true} {35307#true} #112#return; {35307#true} is VALID [2022-04-15 15:16:31,702 INFO L290 TraceCheckUtils]: 2: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-15 15:16:31,702 INFO L290 TraceCheckUtils]: 1: Hoare triple {35307#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(11, 2);call #Ultimate.allocInit(12, 3); {35307#true} is VALID [2022-04-15 15:16:31,702 INFO L272 TraceCheckUtils]: 0: Hoare triple {35307#true} call ULTIMATE.init(); {35307#true} is VALID [2022-04-15 15:16:31,702 INFO L134 CoverageAnalysis]: Checked inductivity of 339 backedges. 102 proven. 30 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-15 15:16:31,702 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:16:31,702 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [976520494] [2022-04-15 15:16:31,703 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:16:31,703 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [497030162] [2022-04-15 15:16:31,703 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [497030162] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:16:31,703 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:16:31,703 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 18] total 29 [2022-04-15 15:16:31,703 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:16:31,703 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [855903314] [2022-04-15 15:16:31,704 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [855903314] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:16:31,704 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:16:31,704 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 15:16:31,704 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [662830762] [2022-04-15 15:16:31,704 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:16:31,705 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 111 [2022-04-15 15:16:31,706 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:16:31,706 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-15 15:16:31,783 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:16:31,783 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 15:16:31,783 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:16:31,784 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 15:16:31,784 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=167, Invalid=645, Unknown=0, NotChecked=0, Total=812 [2022-04-15 15:16:31,784 INFO L87 Difference]: Start difference. First operand 491 states and 671 transitions. Second operand has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-15 15:16:35,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:16:35,990 INFO L93 Difference]: Finished difference Result 584 states and 797 transitions. [2022-04-15 15:16:35,990 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 15:16:35,990 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 111 [2022-04-15 15:16:35,990 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:16:35,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-15 15:16:35,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-15 15:16:35,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-15 15:16:35,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-15 15:16:35,993 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 158 transitions. [2022-04-15 15:16:36,143 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-15 15:16:36,173 INFO L225 Difference]: With dead ends: 584 [2022-04-15 15:16:36,173 INFO L226 Difference]: Without dead ends: 581 [2022-04-15 15:16:36,173 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 225 GetRequests, 191 SyntacticMatches, 3 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 269 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=207, Invalid=849, Unknown=0, NotChecked=0, Total=1056 [2022-04-15 15:16:36,183 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 47 mSDsluCounter, 343 mSDsCounter, 0 mSdLazyCounter, 1040 mSolverCounterSat, 66 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 396 SdHoareTripleChecker+Invalid, 1106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 66 IncrementalHoareTripleChecker+Valid, 1040 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-15 15:16:36,183 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [65 Valid, 396 Invalid, 1106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [66 Valid, 1040 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-15 15:16:36,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 581 states. [2022-04-15 15:16:37,275 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 581 to 524. [2022-04-15 15:16:37,275 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:16:37,291 INFO L82 GeneralOperation]: Start isEquivalent. First operand 581 states. Second operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) [2022-04-15 15:16:37,292 INFO L74 IsIncluded]: Start isIncluded. First operand 581 states. Second operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) [2022-04-15 15:16:37,293 INFO L87 Difference]: Start difference. First operand 581 states. Second operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) [2022-04-15 15:16:37,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:16:37,306 INFO L93 Difference]: Finished difference Result 581 states and 793 transitions. [2022-04-15 15:16:37,306 INFO L276 IsEmpty]: Start isEmpty. Operand 581 states and 793 transitions. [2022-04-15 15:16:37,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:16:37,310 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:16:37,311 INFO L74 IsIncluded]: Start isIncluded. First operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) Second operand 581 states. [2022-04-15 15:16:37,312 INFO L87 Difference]: Start difference. First operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) Second operand 581 states. [2022-04-15 15:16:37,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:16:37,325 INFO L93 Difference]: Finished difference Result 581 states and 793 transitions. [2022-04-15 15:16:37,325 INFO L276 IsEmpty]: Start isEmpty. Operand 581 states and 793 transitions. [2022-04-15 15:16:37,326 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:16:37,326 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:16:37,326 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:16:37,326 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:16:37,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) [2022-04-15 15:16:37,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 524 states to 524 states and 717 transitions. [2022-04-15 15:16:37,342 INFO L78 Accepts]: Start accepts. Automaton has 524 states and 717 transitions. Word has length 111 [2022-04-15 15:16:37,342 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:16:37,342 INFO L478 AbstractCegarLoop]: Abstraction has 524 states and 717 transitions. [2022-04-15 15:16:37,343 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-15 15:16:37,343 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 524 states and 717 transitions. [2022-04-15 15:16:39,356 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 717 edges. 717 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:16:39,356 INFO L276 IsEmpty]: Start isEmpty. Operand 524 states and 717 transitions. [2022-04-15 15:16:39,357 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-15 15:16:39,357 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:16:39,357 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 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] [2022-04-15 15:16:39,377 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-15 15:16:39,565 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-15 15:16:39,565 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:16:39,565 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:16:39,566 INFO L85 PathProgramCache]: Analyzing trace with hash 890766036, now seen corresponding path program 9 times [2022-04-15 15:16:39,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:16:39,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [121592874] [2022-04-15 15:16:39,566 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:16:39,566 INFO L85 PathProgramCache]: Analyzing trace with hash 890766036, now seen corresponding path program 10 times [2022-04-15 15:16:39,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:16:39,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [49581168] [2022-04-15 15:16:39,566 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:16:39,566 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:16:39,580 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:16:39,581 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [599338350] [2022-04-15 15:16:39,581 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:16:39,581 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:16:39,581 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:16:39,596 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-15 15:16:39,596 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-15 15:16:39,648 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:16:39,648 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:16:39,649 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 80 conjunts are in the unsatisfiable core [2022-04-15 15:16:39,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:16:39,672 INFO L286 TraceCheckSpWp]: Computing forward predicates...