/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_valuebound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:34:34,854 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:34:34,856 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:34:34,915 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:34:34,915 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:34:34,916 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:34:34,918 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:34:34,919 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:34:34,921 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:34:34,924 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:34:34,924 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:34:34,925 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:34:34,925 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:34:34,927 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:34:34,927 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:34:34,929 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:34:34,930 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:34:34,930 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:34:34,932 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:34:34,936 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:34:34,938 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:34:34,938 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:34:34,939 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:34:34,939 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:34:34,940 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:34:34,945 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:34:34,945 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:34:34,945 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:34:34,946 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:34:34,946 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:34:34,946 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:34:34,947 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:34:34,948 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:34:34,948 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:34:34,948 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:34:34,949 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:34:34,949 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:34:34,949 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:34:34,949 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:34:34,950 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:34:34,950 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:34:34,951 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:34:34,952 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:34:34,959 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:34:34,959 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:34:34,960 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:34:34,960 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:34:34,960 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:34:34,960 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:34:34,960 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:34:34,961 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:34:34,961 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:34:34,961 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:34:34,961 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:34:34,961 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:34:34,961 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:34:34,961 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:34:34,962 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:34:34,962 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:34:34,962 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:34:34,962 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:34:34,962 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:34:34,962 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:34:34,962 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:34:34,962 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:34:34,962 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 12:34:35,134 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:34:35,157 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:34:35,159 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:34:35,159 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:34:35,160 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:34:35,160 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound50.c [2022-04-28 12:34:35,198 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/923feb291/5bf74954282f4bf7be5fcb7a756a4783/FLAG48193614b [2022-04-28 12:34:35,565 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:34:35,565 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound50.c [2022-04-28 12:34:35,576 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/923feb291/5bf74954282f4bf7be5fcb7a756a4783/FLAG48193614b [2022-04-28 12:34:35,586 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/923feb291/5bf74954282f4bf7be5fcb7a756a4783 [2022-04-28 12:34:35,588 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:34:35,589 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:34:35,591 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:34:35,591 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:34:35,594 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:34:35,595 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:34:35" (1/1) ... [2022-04-28 12:34:35,596 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7f34ba7b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:35, skipping insertion in model container [2022-04-28 12:34:35,596 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:34:35" (1/1) ... [2022-04-28 12:34:35,600 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:34:35,611 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:34:35,758 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_valuebound50.c[490,503] [2022-04-28 12:34:35,789 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:34:35,794 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:34:35,806 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_valuebound50.c[490,503] [2022-04-28 12:34:35,826 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:34:35,835 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:34:35,836 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:35 WrapperNode [2022-04-28 12:34:35,836 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:34:35,837 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:34:35,837 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:34:35,837 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:34:35,843 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:35" (1/1) ... [2022-04-28 12:34:35,844 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:35" (1/1) ... [2022-04-28 12:34:35,849 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:35" (1/1) ... [2022-04-28 12:34:35,849 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:35" (1/1) ... [2022-04-28 12:34:35,862 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:35" (1/1) ... [2022-04-28 12:34:35,866 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:35" (1/1) ... [2022-04-28 12:34:35,869 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:35" (1/1) ... [2022-04-28 12:34:35,872 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:34:35,873 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:34:35,873 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:34:35,873 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:34:35,875 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:35" (1/1) ... [2022-04-28 12:34:35,880 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:34:35,888 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:34:35,904 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 12:34:35,915 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 12:34:35,933 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:34:35,933 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:34:35,933 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:34:35,933 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:34:35,933 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:34:35,934 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:34:35,934 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:34:35,934 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:34:35,934 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:34:35,935 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:34:35,935 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 12:34:35,935 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:34:35,935 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:34:35,935 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:34:35,936 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:34:35,937 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:34:35,937 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:34:35,937 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:34:35,937 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:34:35,938 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:34:35,984 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:34:35,985 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:34:36,099 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:34:36,104 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:34:36,104 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-28 12:34:36,105 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:34:36 BoogieIcfgContainer [2022-04-28 12:34:36,105 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:34:36,107 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:34:36,107 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:34:36,129 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:34:36,129 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:34:35" (1/3) ... [2022-04-28 12:34:36,130 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6712288a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:34:36, skipping insertion in model container [2022-04-28 12:34:36,130 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:34:35" (2/3) ... [2022-04-28 12:34:36,130 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6712288a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:34:36, skipping insertion in model container [2022-04-28 12:34:36,130 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:34:36" (3/3) ... [2022-04-28 12:34:36,131 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll_valuebound50.c [2022-04-28 12:34:36,150 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:34:36,150 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:34:36,198 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:34:36,222 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@79425241, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@58e2f677 [2022-04-28 12:34:36,222 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:34:36,234 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-28 12:34:36,239 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:34:36,239 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:34:36,239 INFO L195 NwaCegarLoop]: 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-28 12:34:36,240 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:34:36,247 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:34:36,247 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 1 times [2022-04-28 12:34:36,254 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:36,255 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2128198880] [2022-04-28 12:34:36,265 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:34:36,265 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 2 times [2022-04-28 12:34:36,267 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:34:36,268 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [400101540] [2022-04-28 12:34:36,268 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:34:36,269 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:34:36,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:36,419 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:34:36,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:36,439 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-28 12:34:36,439 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-28 12:34:36,439 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-28 12:34:36,440 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:34:36,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:36,464 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:34:36,465 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:34:36,465 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:34:36,466 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-28 12:34:36,466 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:34:36,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:36,473 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:34:36,473 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:34:36,474 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:34:36,474 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-28 12:34:36,474 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:34:36,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:36,480 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:34:36,481 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:34:36,481 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:34:36,481 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-28 12:34:36,481 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 12:34:36,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:36,490 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:34:36,491 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:34:36,491 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:34:36,491 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-28 12:34:36,492 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-28 12:34:36,492 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-28 12:34:36,492 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-28 12:34:36,492 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-28 12:34:36,493 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-28 12:34:36,493 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-28 12:34:36,493 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {43#true} is VALID [2022-04-28 12:34:36,493 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:34:36,493 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:34:36,494 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:34:36,494 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-28 12:34:36,494 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-28 12:34:36,494 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {43#true} is VALID [2022-04-28 12:34:36,494 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:34:36,495 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:34:36,495 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:34:36,495 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-28 12:34:36,495 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-28 12:34:36,495 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:34:36,496 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:34:36,496 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:34:36,496 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-28 12:34:36,496 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-28 12:34:36,496 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:34:36,497 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:34:36,497 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:34:36,497 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-28 12:34:36,497 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-28 12:34:36,497 INFO L290 TraceCheckUtils]: 28: Hoare triple {44#false} assume false; {44#false} is VALID [2022-04-28 12:34:36,498 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-28 12:34:36,498 INFO L290 TraceCheckUtils]: 30: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-28 12:34:36,498 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-28 12:34:36,498 INFO L290 TraceCheckUtils]: 32: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-28 12:34:36,499 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-28 12:34:36,499 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:34:36,499 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [400101540] [2022-04-28 12:34:36,500 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [400101540] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:36,500 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:36,500 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:34:36,502 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:34:36,502 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2128198880] [2022-04-28 12:34:36,503 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2128198880] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:36,503 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:36,503 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:34:36,503 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [186443499] [2022-04-28 12:34:36,503 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:34:36,507 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-28 12:34:36,509 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:34:36,511 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-28 12:34:36,547 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-28 12:34:36,547 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:34:36,548 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:36,568 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:34:36,570 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:34:36,573 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-28 12:34:36,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:36,742 INFO L93 Difference]: Finished difference Result 73 states and 115 transitions. [2022-04-28 12:34:36,742 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:34:36,743 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-28 12:34:36,743 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:34:36,744 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-28 12:34:36,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-28 12:34:36,751 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-28 12:34:36,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-28 12:34:36,762 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 115 transitions. [2022-04-28 12:34:36,871 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-28 12:34:36,881 INFO L225 Difference]: With dead ends: 73 [2022-04-28 12:34:36,881 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 12:34:36,884 INFO L412 NwaCegarLoop]: 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-28 12:34:36,887 INFO L413 NwaCegarLoop]: 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-28 12:34:36,889 INFO L414 NwaCegarLoop]: 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-28 12:34:36,898 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 12:34:36,916 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-28 12:34:36,917 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:34:36,917 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-28 12:34:36,918 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-28 12:34:36,919 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-28 12:34:36,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:36,926 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-28 12:34:36,926 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-28 12:34:36,927 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:36,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:36,928 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-28 12:34:36,929 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-28 12:34:36,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:36,938 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-28 12:34:36,939 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-28 12:34:36,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:36,940 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:36,940 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:34:36,940 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:34:36,940 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-28 12:34:36,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 44 transitions. [2022-04-28 12:34:36,949 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 44 transitions. Word has length 33 [2022-04-28 12:34:36,950 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:34:36,950 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 44 transitions. [2022-04-28 12:34:36,950 INFO L496 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-28 12:34:36,950 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 44 transitions. [2022-04-28 12:34:36,992 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:36,992 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-28 12:34:36,993 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 12:34:36,994 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:34:36,994 INFO L195 NwaCegarLoop]: 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-28 12:34:36,994 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:34:36,994 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:34:36,994 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:34:36,995 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 1 times [2022-04-28 12:34:36,995 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:36,995 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1338125621] [2022-04-28 12:34:36,996 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:34:36,996 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 2 times [2022-04-28 12:34:36,996 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:34:36,999 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [702849023] [2022-04-28 12:34:36,999 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:34:36,999 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:34:37,025 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:34:37,025 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1716166925] [2022-04-28 12:34:37,026 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:34:37,026 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:34:37,026 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:34:37,027 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:34:37,039 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 12:34:37,083 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:34:37,083 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:34:37,084 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 12:34:37,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:37,116 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:34:37,389 INFO L272 TraceCheckUtils]: 0: Hoare triple {353#true} call ULTIMATE.init(); {353#true} is VALID [2022-04-28 12:34:37,389 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-28 12:34:37,390 INFO L290 TraceCheckUtils]: 2: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 12:34:37,391 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {353#true} {353#true} #112#return; {353#true} is VALID [2022-04-28 12:34:37,391 INFO L272 TraceCheckUtils]: 4: Hoare triple {353#true} call #t~ret6 := main(); {353#true} is VALID [2022-04-28 12:34:37,391 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-28 12:34:37,391 INFO L272 TraceCheckUtils]: 6: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {353#true} is VALID [2022-04-28 12:34:37,392 INFO L290 TraceCheckUtils]: 7: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 12:34:37,392 INFO L290 TraceCheckUtils]: 8: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 12:34:37,392 INFO L290 TraceCheckUtils]: 9: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 12:34:37,392 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {353#true} {353#true} #94#return; {353#true} is VALID [2022-04-28 12:34:37,392 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-28 12:34:37,392 INFO L272 TraceCheckUtils]: 12: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {353#true} is VALID [2022-04-28 12:34:37,393 INFO L290 TraceCheckUtils]: 13: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 12:34:37,393 INFO L290 TraceCheckUtils]: 14: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 12:34:37,393 INFO L290 TraceCheckUtils]: 15: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 12:34:37,393 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {353#true} {353#true} #96#return; {353#true} is VALID [2022-04-28 12:34:37,393 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-28 12:34:37,393 INFO L290 TraceCheckUtils]: 18: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 12:34:37,393 INFO L290 TraceCheckUtils]: 19: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 12:34:37,394 INFO L290 TraceCheckUtils]: 20: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 12:34:37,396 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {353#true} {353#true} #98#return; {353#true} is VALID [2022-04-28 12:34:37,396 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-28 12:34:37,396 INFO L290 TraceCheckUtils]: 23: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 12:34:37,397 INFO L290 TraceCheckUtils]: 24: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 12:34:37,397 INFO L290 TraceCheckUtils]: 25: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 12:34:37,397 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {353#true} {353#true} #100#return; {353#true} is VALID [2022-04-28 12:34:37,398 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-28 12:34:37,398 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-28 12:34:37,399 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-28 12:34:37,400 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-28 12:34:37,400 INFO L290 TraceCheckUtils]: 31: Hoare triple {450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:37,401 INFO L290 TraceCheckUtils]: 32: Hoare triple {454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {354#false} is VALID [2022-04-28 12:34:37,401 INFO L290 TraceCheckUtils]: 33: Hoare triple {354#false} assume !false; {354#false} is VALID [2022-04-28 12:34:37,402 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-28 12:34:37,402 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:34:37,402 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:34:37,402 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [702849023] [2022-04-28 12:34:37,402 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:34:37,403 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1716166925] [2022-04-28 12:34:37,403 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1716166925] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:37,403 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:37,403 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:34:37,404 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:34:37,431 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1338125621] [2022-04-28 12:34:37,431 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1338125621] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:37,431 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:37,431 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:34:37,432 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1856529252] [2022-04-28 12:34:37,432 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:34:37,432 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-28 12:34:37,433 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:34:37,433 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-28 12:34:37,450 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:37,451 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:34:37,454 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:37,454 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:34:37,455 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:34:37,456 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-28 12:34:37,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:37,740 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-28 12:34:37,740 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:34:37,740 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-28 12:34:37,741 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:34:37,741 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-28 12:34:37,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-28 12:34:37,743 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-28 12:34:37,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-28 12:34:37,745 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-28 12:34:37,798 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-28 12:34:37,800 INFO L225 Difference]: With dead ends: 54 [2022-04-28 12:34:37,801 INFO L226 Difference]: Without dead ends: 51 [2022-04-28 12:34:37,801 INFO L412 NwaCegarLoop]: 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-28 12:34:37,802 INFO L413 NwaCegarLoop]: 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-28 12:34:37,802 INFO L414 NwaCegarLoop]: 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-28 12:34:37,802 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-28 12:34:37,811 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-28 12:34:37,811 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:34:37,812 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-28 12:34:37,812 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-28 12:34:37,813 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-28 12:34:37,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:37,815 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-28 12:34:37,815 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-28 12:34:37,816 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:37,816 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:37,816 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-28 12:34:37,817 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-28 12:34:37,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:37,819 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-28 12:34:37,819 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-28 12:34:37,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:37,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:37,820 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:34:37,820 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:34:37,820 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-28 12:34:37,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-28 12:34:37,823 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 34 [2022-04-28 12:34:37,823 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:34:37,823 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-28 12:34:37,823 INFO L496 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-28 12:34:37,823 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 64 transitions. [2022-04-28 12:34:37,884 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:37,885 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 12:34:37,885 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 12:34:37,885 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:34:37,885 INFO L195 NwaCegarLoop]: 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-28 12:34:37,904 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 12:34:38,099 WARN L477 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-28 12:34:38,100 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:34:38,100 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:34:38,100 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 1 times [2022-04-28 12:34:38,100 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:38,100 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [145346283] [2022-04-28 12:34:38,101 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:34:38,101 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 2 times [2022-04-28 12:34:38,101 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:34:38,101 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1236131625] [2022-04-28 12:34:38,101 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:34:38,101 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:34:38,120 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:34:38,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1173566132] [2022-04-28 12:34:38,121 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:34:38,121 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:34:38,121 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:34:38,125 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:34:38,126 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 12:34:38,165 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:34:38,165 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:34:38,166 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:34:38,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:38,180 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:34:38,329 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-28 12:34:38,330 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-28 12:34:38,330 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 12:34:38,330 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-28 12:34:38,330 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-28 12:34:38,330 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-28 12:34:38,330 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {774#true} is VALID [2022-04-28 12:34:38,330 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 12:34:38,330 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 12:34:38,331 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 12:34:38,331 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-28 12:34:38,331 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-28 12:34:38,331 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {774#true} is VALID [2022-04-28 12:34:38,331 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 12:34:38,331 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 12:34:38,331 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 12:34:38,331 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-28 12:34:38,332 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-28 12:34:38,334 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-28 12:34:38,335 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-28 12:34:38,335 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-28 12:34:38,339 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-28 12:34:38,340 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-28 12:34:38,340 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 12:34:38,340 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 12:34:38,340 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 12:34:38,341 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-28 12:34:38,341 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-28 12:34:38,342 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-28 12:34:38,343 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-28 12:34:38,343 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-28 12:34:38,345 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-28 12:34:38,345 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-28 12:34:38,359 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-28 12:34:38,360 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-28 12:34:38,360 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-28 12:34:38,360 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-28 12:34:38,360 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-28 12:34:38,360 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-28 12:34:38,361 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-28 12:34:38,361 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:34:38,602 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-28 12:34:38,603 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-28 12:34:38,603 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-28 12:34:38,603 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-28 12:34:38,603 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-28 12:34:38,604 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-28 12:34:38,604 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-28 12:34:38,604 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-28 12:34:38,605 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-28 12:34:38,605 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-28 12:34:38,605 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-28 12:34:38,606 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-28 12:34:38,607 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-28 12:34:38,607 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 12:34:38,607 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 12:34:38,607 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 12:34:38,607 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-28 12:34:38,608 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-28 12:34:38,608 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-28 12:34:38,609 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-28 12:34:38,609 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-28 12:34:38,609 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-28 12:34:38,609 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-28 12:34:38,609 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 12:34:38,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 12:34:38,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 12:34:38,610 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {774#true} is VALID [2022-04-28 12:34:38,610 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-28 12:34:38,610 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-28 12:34:38,610 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 12:34:38,610 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 12:34:38,610 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 12:34:38,610 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {774#true} is VALID [2022-04-28 12:34:38,610 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-28 12:34:38,610 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-28 12:34:38,611 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-28 12:34:38,611 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 12:34:38,611 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-28 12:34:38,611 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-28 12:34:38,611 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-28 12:34:38,611 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:34:38,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1236131625] [2022-04-28 12:34:38,611 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:34:38,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1173566132] [2022-04-28 12:34:38,612 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1173566132] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:34:38,612 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:34:38,612 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 12:34:38,612 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:34:38,612 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [145346283] [2022-04-28 12:34:38,612 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [145346283] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:38,612 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:38,612 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:34:38,612 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1620385813] [2022-04-28 12:34:38,612 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:34:38,613 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-28 12:34:38,613 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:34:38,613 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-28 12:34:38,632 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:38,632 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:34:38,632 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:38,632 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:34:38,633 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:34:38,633 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-28 12:34:39,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:39,252 INFO L93 Difference]: Finished difference Result 103 states and 143 transitions. [2022-04-28 12:34:39,252 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:34:39,252 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-28 12:34:39,252 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:34:39,252 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-28 12:34:39,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 12:34:39,257 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-28 12:34:39,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 12:34:39,262 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-28 12:34:39,331 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-28 12:34:39,333 INFO L225 Difference]: With dead ends: 103 [2022-04-28 12:34:39,333 INFO L226 Difference]: Without dead ends: 96 [2022-04-28 12:34:39,334 INFO L412 NwaCegarLoop]: 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-28 12:34:39,334 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 68 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:34:39,334 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [72 Valid, 232 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 148 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:34:39,335 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-28 12:34:39,397 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 71. [2022-04-28 12:34:39,397 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:34:39,397 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-28 12:34:39,398 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-28 12:34:39,398 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-28 12:34:39,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:39,402 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-28 12:34:39,402 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-28 12:34:39,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:39,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:39,403 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-28 12:34:39,403 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-28 12:34:39,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:39,407 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-28 12:34:39,407 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-28 12:34:39,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:39,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:39,408 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:34:39,408 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:34:39,409 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-28 12:34:39,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 95 transitions. [2022-04-28 12:34:39,412 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 95 transitions. Word has length 39 [2022-04-28 12:34:39,413 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:34:39,413 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 95 transitions. [2022-04-28 12:34:39,414 INFO L496 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-28 12:34:39,414 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 95 transitions. [2022-04-28 12:34:39,494 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-28 12:34:39,494 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 95 transitions. [2022-04-28 12:34:39,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 12:34:39,495 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:34:39,495 INFO L195 NwaCegarLoop]: 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-28 12:34:39,513 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-28 12:34:39,703 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 12:34:39,703 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:34:39,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:34:39,704 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 1 times [2022-04-28 12:34:39,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:39,704 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1293171279] [2022-04-28 12:34:39,704 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:34:39,705 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 2 times [2022-04-28 12:34:39,705 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:34:39,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1325006678] [2022-04-28 12:34:39,705 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:34:39,705 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:34:39,720 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:34:39,720 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [38076068] [2022-04-28 12:34:39,720 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:34:39,720 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:34:39,720 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:34:39,721 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:34:39,722 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 12:34:39,758 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:34:39,758 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:34:39,759 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 12:34:39,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:39,775 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:34:40,280 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-28 12:34:40,280 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-28 12:34:40,280 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 12:34:40,280 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-28 12:34:40,280 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-28 12:34:40,281 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-28 12:34:40,281 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {1566#true} is VALID [2022-04-28 12:34:40,281 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 12:34:40,281 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 12:34:40,281 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 12:34:40,281 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-28 12:34:40,281 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-28 12:34:40,282 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {1566#true} is VALID [2022-04-28 12:34:40,282 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-28 12:34:40,282 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-28 12:34:40,283 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-28 12:34:40,284 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 50))} is VALID [2022-04-28 12:34:40,284 INFO L272 TraceCheckUtils]: 17: Hoare triple {1621#(and (<= 0 main_~y~0) (<= main_~y~0 50))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 12:34:40,284 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-28 12:34:40,285 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-28 12:34:40,285 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-28 12:34:40,286 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1621#(and (<= 0 main_~y~0) (<= main_~y~0 50))} #98#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:40,286 INFO L272 TraceCheckUtils]: 22: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 50))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 12:34:40,286 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 12:34:40,286 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 12:34:40,286 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 12:34:40,287 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 50))} #100#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:40,287 INFO L290 TraceCheckUtils]: 27: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 50))} ~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_~a~0 main_~x~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:40,288 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_~a~0 main_~x~0) (<= main_~y~0 50))} 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_~a~0 main_~x~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:40,288 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_~a~0 main_~x~0) (<= main_~y~0 50))} 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_~c~0 main_~x~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:40,289 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_~c~0 main_~x~0) (<= main_~y~0 50))} 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_~c~0 main_~x~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:40,289 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_~c~0 main_~x~0) (<= main_~y~0 50))} 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_~c~0 main_~x~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:40,290 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_~c~0 main_~x~0) (<= main_~y~0 50))} ~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 50))} is VALID [2022-04-28 12:34:40,290 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 50))} 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 50))} is VALID [2022-04-28 12:34:40,291 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 50))} 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 50))} is VALID [2022-04-28 12:34:40,294 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 50))} 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 50))} is VALID [2022-04-28 12:34:40,295 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 50))} 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 50))} is VALID [2022-04-28 12:34:40,295 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 50))} 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 50))} is VALID [2022-04-28 12:34:40,296 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 50))} 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-28 12:34:40,296 INFO L290 TraceCheckUtils]: 39: Hoare triple {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1698#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:40,297 INFO L290 TraceCheckUtils]: 40: Hoare triple {1698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1567#false} is VALID [2022-04-28 12:34:40,297 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-28 12:34:40,297 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-28 12:34:40,297 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:34:40,658 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-28 12:34:40,658 INFO L290 TraceCheckUtils]: 40: Hoare triple {1698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1567#false} is VALID [2022-04-28 12:34:40,658 INFO L290 TraceCheckUtils]: 39: Hoare triple {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1698#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:40,659 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-28 12:34:40,660 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-28 12:34:40,660 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-28 12:34:40,660 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-28 12:34:40,661 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-28 12:34:40,661 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-28 12:34:40,662 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-28 12:34:40,662 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-28 12:34:40,663 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-28 12:34:40,663 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-28 12:34:40,663 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-28 12:34:40,664 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-28 12:34:40,664 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1566#true} #100#return; {1566#true} is VALID [2022-04-28 12:34:40,664 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 12:34:40,664 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 12:34:40,664 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 12:34:40,664 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-28 12:34:40,664 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1566#true} {1566#true} #98#return; {1566#true} is VALID [2022-04-28 12:34:40,664 INFO L290 TraceCheckUtils]: 20: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 12:34:40,665 INFO L290 TraceCheckUtils]: 19: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 12:34:40,665 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 12:34:40,665 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-28 12:34:40,665 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1566#true} {1566#true} #96#return; {1566#true} is VALID [2022-04-28 12:34:40,665 INFO L290 TraceCheckUtils]: 15: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 12:34:40,665 INFO L290 TraceCheckUtils]: 14: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 12:34:40,665 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 12:34:40,665 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {1566#true} is VALID [2022-04-28 12:34:40,665 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-28 12:34:40,665 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-28 12:34:40,666 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 12:34:40,666 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 12:34:40,666 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 12:34:40,666 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {1566#true} is VALID [2022-04-28 12:34:40,666 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-28 12:34:40,666 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-28 12:34:40,666 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-28 12:34:40,666 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 12:34:40,666 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-28 12:34:40,667 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-28 12:34:40,667 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-28 12:34:40,667 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:34:40,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1325006678] [2022-04-28 12:34:40,667 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:34:40,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [38076068] [2022-04-28 12:34:40,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [38076068] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:34:40,667 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:34:40,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 18 [2022-04-28 12:34:40,668 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:34:40,668 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1293171279] [2022-04-28 12:34:40,668 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1293171279] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:40,668 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:40,668 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:34:40,668 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1223008038] [2022-04-28 12:34:40,668 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:34:40,668 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-28 12:34:40,669 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:34:40,669 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-28 12:34:40,697 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-28 12:34:40,697 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:34:40,697 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:40,698 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:34:40,698 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:34:40,698 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-28 12:34:41,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:41,899 INFO L93 Difference]: Finished difference Result 112 states and 151 transitions. [2022-04-28 12:34:41,899 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 12:34:41,899 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-28 12:34:41,899 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:34:41,900 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-28 12:34:41,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2022-04-28 12:34:41,902 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-28 12:34:41,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2022-04-28 12:34:41,904 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 117 transitions. [2022-04-28 12:34:41,996 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-28 12:34:41,998 INFO L225 Difference]: With dead ends: 112 [2022-04-28 12:34:41,998 INFO L226 Difference]: Without dead ends: 110 [2022-04-28 12:34:41,999 INFO L412 NwaCegarLoop]: 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-28 12:34:41,999 INFO L413 NwaCegarLoop]: 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-28 12:34:42,000 INFO L414 NwaCegarLoop]: 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-28 12:34:42,000 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-28 12:34:42,137 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 93. [2022-04-28 12:34:42,137 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:34:42,138 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-28 12:34:42,138 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-28 12:34:42,138 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-28 12:34:42,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:42,142 INFO L93 Difference]: Finished difference Result 110 states and 149 transitions. [2022-04-28 12:34:42,142 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 149 transitions. [2022-04-28 12:34:42,143 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:42,143 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:42,143 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-28 12:34:42,143 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-28 12:34:42,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:42,146 INFO L93 Difference]: Finished difference Result 110 states and 149 transitions. [2022-04-28 12:34:42,146 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 149 transitions. [2022-04-28 12:34:42,147 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:42,147 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:42,147 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:34:42,147 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:34:42,147 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-28 12:34:42,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 122 transitions. [2022-04-28 12:34:42,150 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 122 transitions. Word has length 42 [2022-04-28 12:34:42,150 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:34:42,150 INFO L495 AbstractCegarLoop]: Abstraction has 93 states and 122 transitions. [2022-04-28 12:34:42,150 INFO L496 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-28 12:34:42,150 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 93 states and 122 transitions. [2022-04-28 12:34:42,275 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-28 12:34:42,276 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 122 transitions. [2022-04-28 12:34:42,276 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 12:34:42,276 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:34:42,276 INFO L195 NwaCegarLoop]: 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-28 12:34:42,294 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 12:34:42,476 WARN L477 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-28 12:34:42,477 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:34:42,477 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:34:42,477 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 1 times [2022-04-28 12:34:42,477 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:42,477 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1457442688] [2022-04-28 12:34:42,478 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:34:42,478 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 2 times [2022-04-28 12:34:42,478 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:34:42,478 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1805200680] [2022-04-28 12:34:42,478 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:34:42,478 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:34:42,490 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:34:42,490 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1999127615] [2022-04-28 12:34:42,490 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:34:42,490 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:34:42,490 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:34:42,491 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:34:42,496 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 12:34:42,538 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:34:42,538 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:34:42,539 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:34:42,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:42,552 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:34:42,788 INFO L272 TraceCheckUtils]: 0: Hoare triple {2475#true} call ULTIMATE.init(); {2475#true} is VALID [2022-04-28 12:34:42,788 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-28 12:34:42,788 INFO L290 TraceCheckUtils]: 2: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:42,789 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2475#true} {2475#true} #112#return; {2475#true} is VALID [2022-04-28 12:34:42,789 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#true} call #t~ret6 := main(); {2475#true} is VALID [2022-04-28 12:34:42,789 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-28 12:34:42,789 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:42,789 INFO L290 TraceCheckUtils]: 7: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:42,789 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:42,789 INFO L290 TraceCheckUtils]: 9: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:42,789 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2475#true} {2475#true} #94#return; {2475#true} is VALID [2022-04-28 12:34:42,789 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-28 12:34:42,789 INFO L272 TraceCheckUtils]: 12: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:42,796 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-28 12:34:42,797 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-28 12:34:42,797 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-28 12:34:42,798 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 50))} is VALID [2022-04-28 12:34:42,798 INFO L272 TraceCheckUtils]: 17: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 50))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:42,798 INFO L290 TraceCheckUtils]: 18: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:42,798 INFO L290 TraceCheckUtils]: 19: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:42,798 INFO L290 TraceCheckUtils]: 20: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:42,799 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2475#true} {2530#(and (<= 0 main_~y~0) (<= main_~y~0 50))} #98#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:42,799 INFO L272 TraceCheckUtils]: 22: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 50))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:42,799 INFO L290 TraceCheckUtils]: 23: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:42,799 INFO L290 TraceCheckUtils]: 24: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:42,799 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:42,799 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2475#true} {2530#(and (<= 0 main_~y~0) (<= main_~y~0 50))} #100#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:42,800 INFO L290 TraceCheckUtils]: 27: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 50))} ~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-28 12:34:42,800 INFO L290 TraceCheckUtils]: 28: Hoare triple {2564#(<= 0 main_~b~0)} assume !false; {2564#(<= 0 main_~b~0)} is VALID [2022-04-28 12:34:42,800 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-28 12:34:42,801 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-28 12:34:42,801 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-28 12:34:42,801 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-28 12:34:42,802 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-28 12:34:42,802 INFO L290 TraceCheckUtils]: 34: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:42,802 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:42,802 INFO L290 TraceCheckUtils]: 36: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:42,804 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-28 12:34:42,804 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-28 12:34:42,804 INFO L290 TraceCheckUtils]: 39: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:42,804 INFO L290 TraceCheckUtils]: 40: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:42,804 INFO L290 TraceCheckUtils]: 41: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:42,805 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-28 12:34:42,805 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-28 12:34:42,806 INFO L290 TraceCheckUtils]: 44: Hoare triple {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2618#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:42,806 INFO L290 TraceCheckUtils]: 45: Hoare triple {2618#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2476#false} is VALID [2022-04-28 12:34:42,806 INFO L290 TraceCheckUtils]: 46: Hoare triple {2476#false} assume !false; {2476#false} is VALID [2022-04-28 12:34:42,806 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-28 12:34:42,806 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:34:43,005 INFO L290 TraceCheckUtils]: 46: Hoare triple {2476#false} assume !false; {2476#false} is VALID [2022-04-28 12:34:43,005 INFO L290 TraceCheckUtils]: 45: Hoare triple {2618#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2476#false} is VALID [2022-04-28 12:34:43,005 INFO L290 TraceCheckUtils]: 44: Hoare triple {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2618#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:43,006 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-28 12:34:43,007 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-28 12:34:43,007 INFO L290 TraceCheckUtils]: 41: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:43,007 INFO L290 TraceCheckUtils]: 40: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:43,007 INFO L290 TraceCheckUtils]: 39: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:43,007 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-28 12:34:43,008 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-28 12:34:43,008 INFO L290 TraceCheckUtils]: 36: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:43,008 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:43,008 INFO L290 TraceCheckUtils]: 34: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:43,008 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-28 12:34:43,009 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-28 12:34:43,009 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-28 12:34:43,009 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-28 12:34:43,010 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-28 12:34:43,010 INFO L290 TraceCheckUtils]: 28: Hoare triple {2475#true} assume !false; {2475#true} is VALID [2022-04-28 12:34:43,010 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-28 12:34:43,010 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2475#true} {2475#true} #100#return; {2475#true} is VALID [2022-04-28 12:34:43,010 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:43,010 INFO L290 TraceCheckUtils]: 24: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:43,010 INFO L290 TraceCheckUtils]: 23: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:43,010 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-28 12:34:43,010 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2475#true} {2475#true} #98#return; {2475#true} is VALID [2022-04-28 12:34:43,010 INFO L290 TraceCheckUtils]: 20: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:43,011 INFO L290 TraceCheckUtils]: 19: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:43,011 INFO L290 TraceCheckUtils]: 18: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:43,011 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-28 12:34:43,011 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2475#true} {2475#true} #96#return; {2475#true} is VALID [2022-04-28 12:34:43,011 INFO L290 TraceCheckUtils]: 15: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:43,011 INFO L290 TraceCheckUtils]: 14: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:43,011 INFO L290 TraceCheckUtils]: 13: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:43,011 INFO L272 TraceCheckUtils]: 12: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:43,011 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-28 12:34:43,011 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2475#true} {2475#true} #94#return; {2475#true} is VALID [2022-04-28 12:34:43,011 INFO L290 TraceCheckUtils]: 9: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:43,011 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 12:34:43,012 INFO L290 TraceCheckUtils]: 7: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 12:34:43,012 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {2475#true} is VALID [2022-04-28 12:34:43,012 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-28 12:34:43,012 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#true} call #t~ret6 := main(); {2475#true} is VALID [2022-04-28 12:34:43,012 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2475#true} {2475#true} #112#return; {2475#true} is VALID [2022-04-28 12:34:43,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 12:34:43,012 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-28 12:34:43,012 INFO L272 TraceCheckUtils]: 0: Hoare triple {2475#true} call ULTIMATE.init(); {2475#true} is VALID [2022-04-28 12:34:43,012 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-28 12:34:43,012 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:34:43,013 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1805200680] [2022-04-28 12:34:43,013 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:34:43,013 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1999127615] [2022-04-28 12:34:43,013 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1999127615] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:34:43,013 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:34:43,013 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-28 12:34:43,013 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:34:43,013 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1457442688] [2022-04-28 12:34:43,013 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1457442688] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:34:43,013 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:34:43,013 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:34:43,013 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1656857807] [2022-04-28 12:34:43,014 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:34:43,014 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-28 12:34:43,014 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:34:43,014 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-28 12:34:43,042 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:34:43,042 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:34:43,042 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:43,042 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:34:43,042 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:34:43,042 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-28 12:34:43,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:43,433 INFO L93 Difference]: Finished difference Result 130 states and 179 transitions. [2022-04-28 12:34:43,433 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:34:43,433 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-28 12:34:43,433 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:34:43,434 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-28 12:34:43,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:34:43,435 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-28 12:34:43,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:34:43,436 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:34:43,477 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-28 12:34:43,479 INFO L225 Difference]: With dead ends: 130 [2022-04-28 12:34:43,479 INFO L226 Difference]: Without dead ends: 128 [2022-04-28 12:34:43,480 INFO L412 NwaCegarLoop]: 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-28 12:34:43,480 INFO L413 NwaCegarLoop]: 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-28 12:34:43,480 INFO L414 NwaCegarLoop]: 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-28 12:34:43,481 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-28 12:34:43,680 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 123. [2022-04-28 12:34:43,680 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:34:43,681 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-28 12:34:43,681 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-28 12:34:43,682 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-28 12:34:43,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:43,685 INFO L93 Difference]: Finished difference Result 128 states and 177 transitions. [2022-04-28 12:34:43,686 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 177 transitions. [2022-04-28 12:34:43,686 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:43,686 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:43,686 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-28 12:34:43,687 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-28 12:34:43,692 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:34:43,692 INFO L93 Difference]: Finished difference Result 128 states and 177 transitions. [2022-04-28 12:34:43,692 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 177 transitions. [2022-04-28 12:34:43,694 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:34:43,694 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:34:43,694 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:34:43,694 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:34:43,695 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-28 12:34:43,698 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 172 transitions. [2022-04-28 12:34:43,698 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 172 transitions. Word has length 47 [2022-04-28 12:34:43,698 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:34:43,698 INFO L495 AbstractCegarLoop]: Abstraction has 123 states and 172 transitions. [2022-04-28 12:34:43,698 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 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-28 12:34:43,698 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 123 states and 172 transitions. [2022-04-28 12:34:43,883 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-28 12:34:43,883 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 172 transitions. [2022-04-28 12:34:43,883 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 12:34:43,883 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:34:43,884 INFO L195 NwaCegarLoop]: 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-28 12:34:43,899 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-28 12:34:44,091 WARN L477 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-28 12:34:44,091 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:34:44,092 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:34:44,092 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 1 times [2022-04-28 12:34:44,092 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:34:44,092 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1128833007] [2022-04-28 12:34:44,092 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:34:44,092 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 2 times [2022-04-28 12:34:44,092 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:34:44,092 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1991464895] [2022-04-28 12:34:44,092 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:34:44,093 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:34:44,105 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:34:44,105 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [138232148] [2022-04-28 12:34:44,105 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:34:44,105 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:34:44,105 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:34:44,114 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:34:44,114 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 12:34:44,156 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:34:44,156 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:34:44,157 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 12:34:44,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:34:44,169 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:34:47,559 INFO L272 TraceCheckUtils]: 0: Hoare triple {3530#true} call ULTIMATE.init(); {3530#true} is VALID [2022-04-28 12:34:47,561 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-28 12:34:47,561 INFO L290 TraceCheckUtils]: 2: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:34:47,561 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3530#true} {3530#true} #112#return; {3530#true} is VALID [2022-04-28 12:34:47,561 INFO L272 TraceCheckUtils]: 4: Hoare triple {3530#true} call #t~ret6 := main(); {3530#true} is VALID [2022-04-28 12:34:47,562 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-28 12:34:47,562 INFO L272 TraceCheckUtils]: 6: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:34:47,562 INFO L290 TraceCheckUtils]: 7: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:34:47,562 INFO L290 TraceCheckUtils]: 8: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:34:47,562 INFO L290 TraceCheckUtils]: 9: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:34:47,562 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3530#true} {3530#true} #94#return; {3530#true} is VALID [2022-04-28 12:34:47,562 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-28 12:34:47,562 INFO L272 TraceCheckUtils]: 12: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:34:47,563 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-28 12:34:47,563 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-28 12:34:47,563 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-28 12:34:47,564 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 50))} is VALID [2022-04-28 12:34:47,564 INFO L272 TraceCheckUtils]: 17: Hoare triple {3585#(and (<= 0 main_~y~0) (<= main_~y~0 50))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:34:47,564 INFO L290 TraceCheckUtils]: 18: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:34:47,564 INFO L290 TraceCheckUtils]: 19: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:34:47,564 INFO L290 TraceCheckUtils]: 20: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:34:47,565 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3530#true} {3585#(and (<= 0 main_~y~0) (<= main_~y~0 50))} #98#return; {3585#(and (<= 0 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:47,565 INFO L272 TraceCheckUtils]: 22: Hoare triple {3585#(and (<= 0 main_~y~0) (<= main_~y~0 50))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:34:47,565 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-28 12:34:47,566 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-28 12:34:47,566 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-28 12:34:47,566 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} {3585#(and (<= 0 main_~y~0) (<= main_~y~0 50))} #100#return; {3616#(and (<= 1 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:47,567 INFO L290 TraceCheckUtils]: 27: Hoare triple {3616#(and (<= 1 main_~y~0) (<= main_~y~0 50))} ~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) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 50) (= main_~p~0 1))} is VALID [2022-04-28 12:34:47,567 INFO L290 TraceCheckUtils]: 28: Hoare triple {3620#(and (= main_~r~0 0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 50) (= main_~p~0 1))} assume !false; {3620#(and (= main_~r~0 0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 50) (= main_~p~0 1))} is VALID [2022-04-28 12:34:47,568 INFO L290 TraceCheckUtils]: 29: Hoare triple {3620#(and (= main_~r~0 0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 50) (= 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) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (<= main_~y~0 50) (= main_~p~0 1))} is VALID [2022-04-28 12:34:47,569 INFO L290 TraceCheckUtils]: 30: Hoare triple {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (<= main_~y~0 50) (= main_~p~0 1))} assume !false; {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (<= main_~y~0 50) (= main_~p~0 1))} is VALID [2022-04-28 12:34:47,570 INFO L290 TraceCheckUtils]: 31: Hoare triple {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (<= main_~y~0 50) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (<= main_~y~0 50) (= main_~p~0 1))} is VALID [2022-04-28 12:34:47,574 INFO L290 TraceCheckUtils]: 32: Hoare triple {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (<= main_~y~0 50) (= 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) (<= 1 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:47,576 INFO L290 TraceCheckUtils]: 33: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0) (<= main_~y~0 50))} assume !false; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:47,576 INFO L290 TraceCheckUtils]: 34: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0) (<= main_~y~0 50))} 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) (<= 1 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:47,576 INFO L290 TraceCheckUtils]: 35: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0) (<= main_~y~0 50))} assume !false; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:47,577 INFO L290 TraceCheckUtils]: 36: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0) (<= main_~y~0 50))} 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) (<= 1 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:47,577 INFO L290 TraceCheckUtils]: 37: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0) (<= main_~y~0 50))} assume !false; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:47,580 INFO L272 TraceCheckUtils]: 38: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0) (<= main_~y~0 50))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:34:47,580 INFO L290 TraceCheckUtils]: 39: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:34:47,580 INFO L290 TraceCheckUtils]: 40: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:34:47,580 INFO L290 TraceCheckUtils]: 41: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:34:47,581 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3530#true} {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0) (<= main_~y~0 50))} #102#return; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-28 12:34:47,582 INFO L272 TraceCheckUtils]: 43: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0) (<= main_~y~0 50))} 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-28 12:34:47,583 INFO L290 TraceCheckUtils]: 44: Hoare triple {3671#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3675#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:47,583 INFO L290 TraceCheckUtils]: 45: Hoare triple {3675#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3531#false} is VALID [2022-04-28 12:34:47,583 INFO L290 TraceCheckUtils]: 46: Hoare triple {3531#false} assume !false; {3531#false} is VALID [2022-04-28 12:34:47,583 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-28 12:34:47,583 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:36:11,307 INFO L290 TraceCheckUtils]: 46: Hoare triple {3531#false} assume !false; {3531#false} is VALID [2022-04-28 12:36:11,308 INFO L290 TraceCheckUtils]: 45: Hoare triple {3675#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3531#false} is VALID [2022-04-28 12:36:11,308 INFO L290 TraceCheckUtils]: 44: Hoare triple {3671#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3675#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:36:11,309 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-28 12:36:11,309 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-28 12:36:11,309 INFO L290 TraceCheckUtils]: 41: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:36:11,309 INFO L290 TraceCheckUtils]: 40: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:36:11,309 INFO L290 TraceCheckUtils]: 39: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:36:11,310 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-28 12:36:11,313 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-28 12:36:11,313 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-28 12:36:11,313 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-28 12:36:11,314 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-28 12:36:11,314 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-28 12:36:11,418 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-28 12:36:11,419 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-28 12:36:11,419 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-28 12:36:11,420 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-28 12:36:11,420 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-28 12:36:11,421 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-28 12:36:11,421 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3530#true} {3530#true} #100#return; {3530#true} is VALID [2022-04-28 12:36:11,421 INFO L290 TraceCheckUtils]: 25: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:36:11,421 INFO L290 TraceCheckUtils]: 24: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:36:11,421 INFO L290 TraceCheckUtils]: 23: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:36:11,421 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-28 12:36:11,421 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3530#true} {3530#true} #98#return; {3530#true} is VALID [2022-04-28 12:36:11,421 INFO L290 TraceCheckUtils]: 20: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:36:11,421 INFO L290 TraceCheckUtils]: 19: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:36:11,421 INFO L290 TraceCheckUtils]: 18: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:36:11,421 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-28 12:36:11,421 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3530#true} {3530#true} #96#return; {3530#true} is VALID [2022-04-28 12:36:11,422 INFO L290 TraceCheckUtils]: 15: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:36:11,422 INFO L290 TraceCheckUtils]: 14: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:36:11,422 INFO L290 TraceCheckUtils]: 13: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:36:11,422 INFO L272 TraceCheckUtils]: 12: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:36:11,422 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-28 12:36:11,422 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3530#true} {3530#true} #94#return; {3530#true} is VALID [2022-04-28 12:36:11,422 INFO L290 TraceCheckUtils]: 9: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:36:11,422 INFO L290 TraceCheckUtils]: 8: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 12:36:11,422 INFO L290 TraceCheckUtils]: 7: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 12:36:11,422 INFO L272 TraceCheckUtils]: 6: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {3530#true} is VALID [2022-04-28 12:36:11,422 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-28 12:36:11,422 INFO L272 TraceCheckUtils]: 4: Hoare triple {3530#true} call #t~ret6 := main(); {3530#true} is VALID [2022-04-28 12:36:11,422 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3530#true} {3530#true} #112#return; {3530#true} is VALID [2022-04-28 12:36:11,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 12:36:11,423 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-28 12:36:11,423 INFO L272 TraceCheckUtils]: 0: Hoare triple {3530#true} call ULTIMATE.init(); {3530#true} is VALID [2022-04-28 12:36:11,423 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-28 12:36:11,423 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:36:11,423 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1991464895] [2022-04-28 12:36:11,423 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:36:11,423 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [138232148] [2022-04-28 12:36:11,423 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [138232148] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:36:11,423 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:36:11,424 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 7] total 14 [2022-04-28 12:36:11,424 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:36:11,424 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1128833007] [2022-04-28 12:36:11,424 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1128833007] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:36:11,424 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:36:11,424 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:36:11,424 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1165243615] [2022-04-28 12:36:11,424 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:36:11,424 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-28 12:36:11,425 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:36:11,425 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-28 12:36:11,452 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:36:11,452 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:36:11,452 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:36:11,452 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:36:11,452 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=147, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:36:11,452 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-28 12:36:12,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:12,418 INFO L93 Difference]: Finished difference Result 137 states and 184 transitions. [2022-04-28 12:36:12,418 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:36:12,419 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-28 12:36:12,421 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:36:12,421 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-28 12:36:12,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 101 transitions. [2022-04-28 12:36:12,424 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-28 12:36:12,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 101 transitions. [2022-04-28 12:36:12,427 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 101 transitions. [2022-04-28 12:36:12,504 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-28 12:36:12,506 INFO L225 Difference]: With dead ends: 137 [2022-04-28 12:36:12,506 INFO L226 Difference]: Without dead ends: 135 [2022-04-28 12:36:12,506 INFO L412 NwaCegarLoop]: 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-28 12:36:12,507 INFO L413 NwaCegarLoop]: 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-28 12:36:12,507 INFO L414 NwaCegarLoop]: 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-28 12:36:12,507 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2022-04-28 12:36:12,765 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 131. [2022-04-28 12:36:12,766 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:36:12,766 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-28 12:36:12,766 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-28 12:36:12,766 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-28 12:36:12,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:12,771 INFO L93 Difference]: Finished difference Result 135 states and 182 transitions. [2022-04-28 12:36:12,771 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 182 transitions. [2022-04-28 12:36:12,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:36:12,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:36:12,772 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-28 12:36:12,772 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-28 12:36:12,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:12,780 INFO L93 Difference]: Finished difference Result 135 states and 182 transitions. [2022-04-28 12:36:12,780 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 182 transitions. [2022-04-28 12:36:12,780 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:36:12,780 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:36:12,781 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:36:12,781 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:36:12,781 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-28 12:36:12,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 178 transitions. [2022-04-28 12:36:12,784 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 178 transitions. Word has length 47 [2022-04-28 12:36:12,784 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:36:12,785 INFO L495 AbstractCegarLoop]: Abstraction has 131 states and 178 transitions. [2022-04-28 12:36:12,785 INFO L496 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-28 12:36:12,785 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 178 transitions. [2022-04-28 12:36:12,978 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-28 12:36:12,978 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 178 transitions. [2022-04-28 12:36:12,979 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 12:36:12,979 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:36:12,979 INFO L195 NwaCegarLoop]: 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-28 12:36:12,995 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 12:36:13,185 WARN L477 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-28 12:36:13,185 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:36:13,186 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:36:13,186 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 3 times [2022-04-28 12:36:13,186 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:36:13,186 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [474496941] [2022-04-28 12:36:13,186 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:36:13,186 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 4 times [2022-04-28 12:36:13,186 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:36:13,186 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1444570914] [2022-04-28 12:36:13,186 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:36:13,186 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:36:13,200 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:36:13,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1861225409] [2022-04-28 12:36:13,200 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:36:13,200 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:36:13,200 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:36:13,201 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:36:13,202 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 12:36:13,235 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:36:13,235 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:36:13,236 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:36:13,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:36:13,245 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:36:13,347 INFO L272 TraceCheckUtils]: 0: Hoare triple {4637#true} call ULTIMATE.init(); {4637#true} is VALID [2022-04-28 12:36:13,347 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-28 12:36:13,348 INFO L290 TraceCheckUtils]: 2: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-28 12:36:13,348 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4637#true} {4637#true} #112#return; {4637#true} is VALID [2022-04-28 12:36:13,348 INFO L272 TraceCheckUtils]: 4: Hoare triple {4637#true} call #t~ret6 := main(); {4637#true} is VALID [2022-04-28 12:36:13,348 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-28 12:36:13,348 INFO L272 TraceCheckUtils]: 6: Hoare triple {4637#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {4637#true} is VALID [2022-04-28 12:36:13,348 INFO L290 TraceCheckUtils]: 7: Hoare triple {4637#true} ~cond := #in~cond; {4637#true} is VALID [2022-04-28 12:36:13,348 INFO L290 TraceCheckUtils]: 8: Hoare triple {4637#true} assume !(0 == ~cond); {4637#true} is VALID [2022-04-28 12:36:13,348 INFO L290 TraceCheckUtils]: 9: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-28 12:36:13,348 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4637#true} {4637#true} #94#return; {4637#true} is VALID [2022-04-28 12:36:13,348 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-28 12:36:13,348 INFO L272 TraceCheckUtils]: 12: Hoare triple {4637#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {4637#true} is VALID [2022-04-28 12:36:13,348 INFO L290 TraceCheckUtils]: 13: Hoare triple {4637#true} ~cond := #in~cond; {4637#true} is VALID [2022-04-28 12:36:13,348 INFO L290 TraceCheckUtils]: 14: Hoare triple {4637#true} assume !(0 == ~cond); {4637#true} is VALID [2022-04-28 12:36:13,349 INFO L290 TraceCheckUtils]: 15: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-28 12:36:13,349 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4637#true} {4637#true} #96#return; {4637#true} is VALID [2022-04-28 12:36:13,349 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-28 12:36:13,349 INFO L290 TraceCheckUtils]: 18: Hoare triple {4637#true} ~cond := #in~cond; {4637#true} is VALID [2022-04-28 12:36:13,349 INFO L290 TraceCheckUtils]: 19: Hoare triple {4637#true} assume !(0 == ~cond); {4637#true} is VALID [2022-04-28 12:36:13,349 INFO L290 TraceCheckUtils]: 20: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-28 12:36:13,349 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4637#true} {4637#true} #98#return; {4637#true} is VALID [2022-04-28 12:36:13,349 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-28 12:36:13,349 INFO L290 TraceCheckUtils]: 23: Hoare triple {4637#true} ~cond := #in~cond; {4637#true} is VALID [2022-04-28 12:36:13,349 INFO L290 TraceCheckUtils]: 24: Hoare triple {4637#true} assume !(0 == ~cond); {4637#true} is VALID [2022-04-28 12:36:13,349 INFO L290 TraceCheckUtils]: 25: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-28 12:36:13,349 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4637#true} {4637#true} #100#return; {4637#true} is VALID [2022-04-28 12:36:13,349 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-28 12:36:13,350 INFO L290 TraceCheckUtils]: 28: Hoare triple {4637#true} assume !false; {4637#true} is VALID [2022-04-28 12:36:13,350 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-28 12:36:13,350 INFO L290 TraceCheckUtils]: 30: Hoare triple {4637#true} assume !false; {4637#true} is VALID [2022-04-28 12:36:13,350 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-28 12:36:13,350 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-28 12:36:13,351 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-28 12:36:13,351 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-28 12:36:13,351 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-28 12:36:13,352 INFO L290 TraceCheckUtils]: 36: Hoare triple {4746#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4638#false} is VALID [2022-04-28 12:36:13,352 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-28 12:36:13,352 INFO L290 TraceCheckUtils]: 38: Hoare triple {4638#false} assume !false; {4638#false} is VALID [2022-04-28 12:36:13,352 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-28 12:36:13,352 INFO L290 TraceCheckUtils]: 40: Hoare triple {4638#false} assume !false; {4638#false} is VALID [2022-04-28 12:36:13,352 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-28 12:36:13,352 INFO L290 TraceCheckUtils]: 42: Hoare triple {4638#false} assume !false; {4638#false} is VALID [2022-04-28 12:36:13,352 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-28 12:36:13,352 INFO L290 TraceCheckUtils]: 44: Hoare triple {4638#false} ~cond := #in~cond; {4638#false} is VALID [2022-04-28 12:36:13,352 INFO L290 TraceCheckUtils]: 45: Hoare triple {4638#false} assume 0 == ~cond; {4638#false} is VALID [2022-04-28 12:36:13,353 INFO L290 TraceCheckUtils]: 46: Hoare triple {4638#false} assume !false; {4638#false} is VALID [2022-04-28 12:36:13,353 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-28 12:36:13,353 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:36:13,353 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:36:13,353 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1444570914] [2022-04-28 12:36:13,353 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:36:13,353 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1861225409] [2022-04-28 12:36:13,353 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1861225409] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:36:13,353 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:36:13,353 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:36:13,353 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:36:13,353 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [474496941] [2022-04-28 12:36:13,354 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [474496941] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:36:13,354 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:36:13,354 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:36:13,354 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1181739174] [2022-04-28 12:36:13,354 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:36:13,354 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-28 12:36:13,354 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:36:13,354 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-28 12:36:13,375 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-28 12:36:13,375 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:36:13,375 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:36:13,375 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:36:13,375 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:36:13,376 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-28 12:36:13,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:13,821 INFO L93 Difference]: Finished difference Result 170 states and 230 transitions. [2022-04-28 12:36:13,821 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:36:13,821 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-28 12:36:13,821 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:36:13,822 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-28 12:36:13,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-28 12:36:13,823 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-28 12:36:13,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-28 12:36:13,824 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 102 transitions. [2022-04-28 12:36:13,890 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-28 12:36:13,892 INFO L225 Difference]: With dead ends: 170 [2022-04-28 12:36:13,892 INFO L226 Difference]: Without dead ends: 114 [2022-04-28 12:36:13,892 INFO L412 NwaCegarLoop]: 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-28 12:36:13,893 INFO L413 NwaCegarLoop]: 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-28 12:36:13,893 INFO L414 NwaCegarLoop]: 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-28 12:36:13,893 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2022-04-28 12:36:14,085 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 106. [2022-04-28 12:36:14,086 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:36:14,086 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-28 12:36:14,086 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-28 12:36:14,086 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-28 12:36:14,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:14,089 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-28 12:36:14,089 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-04-28 12:36:14,089 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:36:14,090 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:36:14,090 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-28 12:36:14,090 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-28 12:36:14,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:14,093 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-28 12:36:14,093 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-04-28 12:36:14,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:36:14,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:36:14,093 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:36:14,093 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:36:14,093 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-28 12:36:14,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 137 transitions. [2022-04-28 12:36:14,096 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 137 transitions. Word has length 47 [2022-04-28 12:36:14,097 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:36:14,097 INFO L495 AbstractCegarLoop]: Abstraction has 106 states and 137 transitions. [2022-04-28 12:36:14,097 INFO L496 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-28 12:36:14,097 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 137 transitions. [2022-04-28 12:36:14,252 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-28 12:36:14,252 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 137 transitions. [2022-04-28 12:36:14,252 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 12:36:14,252 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:36:14,252 INFO L195 NwaCegarLoop]: 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-28 12:36:14,268 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 12:36:14,459 WARN L477 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-28 12:36:14,459 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:36:14,459 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:36:14,459 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 1 times [2022-04-28 12:36:14,459 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:36:14,459 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1667967567] [2022-04-28 12:36:14,460 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:36:14,460 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 2 times [2022-04-28 12:36:14,460 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:36:14,460 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [57372001] [2022-04-28 12:36:14,460 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:36:14,460 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:36:14,474 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:36:14,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1057604535] [2022-04-28 12:36:14,474 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:36:14,474 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:36:14,474 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:36:14,476 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:36:14,477 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 12:36:14,509 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:36:14,510 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:36:14,510 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:36:14,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:36:14,523 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:36:14,663 INFO L272 TraceCheckUtils]: 0: Hoare triple {5567#true} call ULTIMATE.init(); {5567#true} is VALID [2022-04-28 12:36:14,663 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-28 12:36:14,663 INFO L290 TraceCheckUtils]: 2: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-28 12:36:14,663 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5567#true} {5567#true} #112#return; {5567#true} is VALID [2022-04-28 12:36:14,664 INFO L272 TraceCheckUtils]: 4: Hoare triple {5567#true} call #t~ret6 := main(); {5567#true} is VALID [2022-04-28 12:36:14,664 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-28 12:36:14,664 INFO L272 TraceCheckUtils]: 6: Hoare triple {5567#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {5567#true} is VALID [2022-04-28 12:36:14,664 INFO L290 TraceCheckUtils]: 7: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-28 12:36:14,664 INFO L290 TraceCheckUtils]: 8: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-28 12:36:14,664 INFO L290 TraceCheckUtils]: 9: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-28 12:36:14,664 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5567#true} {5567#true} #94#return; {5567#true} is VALID [2022-04-28 12:36:14,664 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-28 12:36:14,664 INFO L272 TraceCheckUtils]: 12: Hoare triple {5567#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {5567#true} is VALID [2022-04-28 12:36:14,664 INFO L290 TraceCheckUtils]: 13: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-28 12:36:14,664 INFO L290 TraceCheckUtils]: 14: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-28 12:36:14,664 INFO L290 TraceCheckUtils]: 15: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-28 12:36:14,664 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5567#true} {5567#true} #96#return; {5567#true} is VALID [2022-04-28 12:36:14,665 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-28 12:36:14,665 INFO L290 TraceCheckUtils]: 18: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-28 12:36:14,665 INFO L290 TraceCheckUtils]: 19: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-28 12:36:14,665 INFO L290 TraceCheckUtils]: 20: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-28 12:36:14,683 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5567#true} {5567#true} #98#return; {5567#true} is VALID [2022-04-28 12:36:14,683 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-28 12:36:14,683 INFO L290 TraceCheckUtils]: 23: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-28 12:36:14,683 INFO L290 TraceCheckUtils]: 24: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-28 12:36:14,683 INFO L290 TraceCheckUtils]: 25: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-28 12:36:14,684 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5567#true} {5567#true} #100#return; {5567#true} is VALID [2022-04-28 12:36:14,684 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-28 12:36:14,684 INFO L290 TraceCheckUtils]: 28: Hoare triple {5567#true} assume !false; {5567#true} is VALID [2022-04-28 12:36:14,684 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-28 12:36:14,684 INFO L290 TraceCheckUtils]: 30: Hoare triple {5567#true} assume !false; {5567#true} is VALID [2022-04-28 12:36:14,689 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-28 12:36:14,689 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-28 12:36:14,689 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-28 12:36:14,690 INFO L290 TraceCheckUtils]: 34: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-28 12:36:14,690 INFO L290 TraceCheckUtils]: 35: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-28 12:36:14,690 INFO L290 TraceCheckUtils]: 36: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-28 12:36:14,690 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-28 12:36:14,690 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-28 12:36:14,690 INFO L290 TraceCheckUtils]: 39: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-28 12:36:14,690 INFO L290 TraceCheckUtils]: 40: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-28 12:36:14,691 INFO L290 TraceCheckUtils]: 41: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-28 12:36:14,691 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-28 12:36:14,691 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-28 12:36:14,691 INFO L290 TraceCheckUtils]: 44: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-28 12:36:14,691 INFO L290 TraceCheckUtils]: 45: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-28 12:36:14,691 INFO L290 TraceCheckUtils]: 46: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-28 12:36:14,692 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-28 12:36:14,692 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-28 12:36:14,693 INFO L290 TraceCheckUtils]: 49: Hoare triple {5717#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5721#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:36:14,693 INFO L290 TraceCheckUtils]: 50: Hoare triple {5721#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5568#false} is VALID [2022-04-28 12:36:14,693 INFO L290 TraceCheckUtils]: 51: Hoare triple {5568#false} assume !false; {5568#false} is VALID [2022-04-28 12:36:14,693 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-28 12:36:14,693 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:36:14,694 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:36:14,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [57372001] [2022-04-28 12:36:14,694 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:36:14,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1057604535] [2022-04-28 12:36:14,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1057604535] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:36:14,694 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:36:14,694 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:36:14,694 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:36:14,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1667967567] [2022-04-28 12:36:14,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1667967567] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:36:14,694 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:36:14,694 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:36:14,694 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [152080786] [2022-04-28 12:36:14,694 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:36:14,695 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-28 12:36:14,695 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:36:14,695 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-28 12:36:14,718 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-28 12:36:14,718 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:36:14,718 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:36:14,718 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:36:14,718 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:36:14,718 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-28 12:36:15,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:15,178 INFO L93 Difference]: Finished difference Result 158 states and 221 transitions. [2022-04-28 12:36:15,178 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:36:15,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-28 12:36:15,178 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:36:15,178 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-28 12:36:15,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:36:15,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-28 12:36:15,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:36:15,180 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:36:15,226 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-28 12:36:15,231 INFO L225 Difference]: With dead ends: 158 [2022-04-28 12:36:15,231 INFO L226 Difference]: Without dead ends: 156 [2022-04-28 12:36:15,232 INFO L412 NwaCegarLoop]: 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-28 12:36:15,232 INFO L413 NwaCegarLoop]: 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-28 12:36:15,232 INFO L414 NwaCegarLoop]: 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-28 12:36:15,233 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-28 12:36:15,539 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 140. [2022-04-28 12:36:15,539 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:36:15,540 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-28 12:36:15,540 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-28 12:36:15,541 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-28 12:36:15,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:15,545 INFO L93 Difference]: Finished difference Result 156 states and 219 transitions. [2022-04-28 12:36:15,545 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 219 transitions. [2022-04-28 12:36:15,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:36:15,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:36:15,545 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-28 12:36:15,546 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-28 12:36:15,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:15,550 INFO L93 Difference]: Finished difference Result 156 states and 219 transitions. [2022-04-28 12:36:15,550 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 219 transitions. [2022-04-28 12:36:15,550 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:36:15,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:36:15,550 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:36:15,550 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:36:15,551 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-28 12:36:15,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 194 transitions. [2022-04-28 12:36:15,554 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 194 transitions. Word has length 52 [2022-04-28 12:36:15,555 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:36:15,555 INFO L495 AbstractCegarLoop]: Abstraction has 140 states and 194 transitions. [2022-04-28 12:36:15,555 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 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-28 12:36:15,555 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 140 states and 194 transitions. [2022-04-28 12:36:15,793 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-28 12:36:15,794 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 194 transitions. [2022-04-28 12:36:15,794 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-28 12:36:15,794 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:36:15,794 INFO L195 NwaCegarLoop]: 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-28 12:36:15,810 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-28 12:36:15,995 WARN L477 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-28 12:36:15,995 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:36:15,995 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:36:15,995 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 1 times [2022-04-28 12:36:15,995 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:36:15,995 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [388527615] [2022-04-28 12:36:15,996 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:36:15,996 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 2 times [2022-04-28 12:36:15,996 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:36:15,996 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1698288358] [2022-04-28 12:36:15,996 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:36:15,996 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:36:16,023 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:36:16,023 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1012373091] [2022-04-28 12:36:16,023 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:36:16,023 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:36:16,024 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:36:16,024 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:36:16,025 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 12:36:16,064 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:36:16,064 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:36:16,065 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 57 conjunts are in the unsatisfiable core [2022-04-28 12:36:16,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:36:16,076 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:36:16,734 INFO L272 TraceCheckUtils]: 0: Hoare triple {6637#true} call ULTIMATE.init(); {6637#true} is VALID [2022-04-28 12:36:16,734 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-28 12:36:16,734 INFO L290 TraceCheckUtils]: 2: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 12:36:16,734 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6637#true} {6637#true} #112#return; {6637#true} is VALID [2022-04-28 12:36:16,735 INFO L272 TraceCheckUtils]: 4: Hoare triple {6637#true} call #t~ret6 := main(); {6637#true} is VALID [2022-04-28 12:36:16,735 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-28 12:36:16,735 INFO L272 TraceCheckUtils]: 6: Hoare triple {6637#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {6637#true} is VALID [2022-04-28 12:36:16,735 INFO L290 TraceCheckUtils]: 7: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 12:36:16,735 INFO L290 TraceCheckUtils]: 8: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 12:36:16,735 INFO L290 TraceCheckUtils]: 9: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 12:36:16,735 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6637#true} {6637#true} #94#return; {6637#true} is VALID [2022-04-28 12:36:16,735 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-28 12:36:16,735 INFO L272 TraceCheckUtils]: 12: Hoare triple {6637#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {6637#true} is VALID [2022-04-28 12:36:16,735 INFO L290 TraceCheckUtils]: 13: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 12:36:16,735 INFO L290 TraceCheckUtils]: 14: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 12:36:16,735 INFO L290 TraceCheckUtils]: 15: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 12:36:16,735 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6637#true} {6637#true} #96#return; {6637#true} is VALID [2022-04-28 12:36:16,735 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-28 12:36:16,736 INFO L290 TraceCheckUtils]: 18: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 12:36:16,736 INFO L290 TraceCheckUtils]: 19: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 12:36:16,736 INFO L290 TraceCheckUtils]: 20: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 12:36:16,736 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6637#true} {6637#true} #98#return; {6637#true} is VALID [2022-04-28 12:36:16,736 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-28 12:36:16,736 INFO L290 TraceCheckUtils]: 23: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 12:36:16,737 INFO L290 TraceCheckUtils]: 24: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 12:36:16,737 INFO L290 TraceCheckUtils]: 25: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 12:36:16,737 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6637#true} {6637#true} #100#return; {6637#true} is VALID [2022-04-28 12:36:16,737 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-28 12:36:16,738 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-28 12:36:16,738 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_~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-28 12:36:16,739 INFO L290 TraceCheckUtils]: 30: Hoare triple {6730#(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; {6730#(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-28 12:36:16,739 INFO L290 TraceCheckUtils]: 31: Hoare triple {6730#(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; {6737#(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-28 12:36:16,740 INFO L290 TraceCheckUtils]: 32: Hoare triple {6737#(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; {6737#(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-28 12:36:16,740 INFO L272 TraceCheckUtils]: 33: Hoare triple {6737#(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)); {6637#true} is VALID [2022-04-28 12:36:16,740 INFO L290 TraceCheckUtils]: 34: Hoare triple {6637#true} ~cond := #in~cond; {6747#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:36:16,740 INFO L290 TraceCheckUtils]: 35: Hoare triple {6747#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6751#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:16,740 INFO L290 TraceCheckUtils]: 36: Hoare triple {6751#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6751#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:16,741 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6751#(not (= |__VERIFIER_assert_#in~cond| 0))} {6737#(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; {6758#(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-28 12:36:16,742 INFO L272 TraceCheckUtils]: 38: Hoare triple {6758#(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-28 12:36:16,742 INFO L290 TraceCheckUtils]: 39: Hoare triple {6637#true} ~cond := #in~cond; {6747#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:36:16,742 INFO L290 TraceCheckUtils]: 40: Hoare triple {6747#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6751#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:16,742 INFO L290 TraceCheckUtils]: 41: Hoare triple {6751#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6751#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:16,743 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6751#(not (= |__VERIFIER_assert_#in~cond| 0))} {6758#(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; {6758#(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-28 12:36:16,743 INFO L272 TraceCheckUtils]: 43: Hoare triple {6758#(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-28 12:36:16,743 INFO L290 TraceCheckUtils]: 44: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 12:36:16,743 INFO L290 TraceCheckUtils]: 45: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 12:36:16,743 INFO L290 TraceCheckUtils]: 46: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 12:36:16,744 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6637#true} {6758#(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; {6758#(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-28 12:36:16,744 INFO L272 TraceCheckUtils]: 48: Hoare triple {6758#(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-28 12:36:16,744 INFO L290 TraceCheckUtils]: 49: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 12:36:16,744 INFO L290 TraceCheckUtils]: 50: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 12:36:16,745 INFO L290 TraceCheckUtils]: 51: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 12:36:16,745 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6637#true} {6758#(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; {6758#(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-28 12:36:16,746 INFO L290 TraceCheckUtils]: 53: Hoare triple {6758#(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); {6758#(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-28 12:36:16,746 INFO L290 TraceCheckUtils]: 54: Hoare triple {6758#(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; {6810#(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-28 12:36:16,747 INFO L290 TraceCheckUtils]: 55: Hoare triple {6810#(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; {6810#(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-28 12:36:16,747 INFO L290 TraceCheckUtils]: 56: Hoare triple {6810#(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); {6810#(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-28 12:36:16,748 INFO L290 TraceCheckUtils]: 57: Hoare triple {6810#(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; {6820#(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-28 12:36:16,748 INFO L290 TraceCheckUtils]: 58: Hoare triple {6820#(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; {6820#(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-28 12:36:16,748 INFO L290 TraceCheckUtils]: 59: Hoare triple {6820#(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); {6827#(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-28 12:36:16,749 INFO L272 TraceCheckUtils]: 60: Hoare triple {6827#(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)); {6831#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:36:16,750 INFO L290 TraceCheckUtils]: 61: Hoare triple {6831#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6835#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:36:16,750 INFO L290 TraceCheckUtils]: 62: Hoare triple {6835#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6638#false} is VALID [2022-04-28 12:36:16,750 INFO L290 TraceCheckUtils]: 63: Hoare triple {6638#false} assume !false; {6638#false} is VALID [2022-04-28 12:36:16,750 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 6 proven. 18 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 12:36:16,750 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:36:40,709 INFO L290 TraceCheckUtils]: 63: Hoare triple {6638#false} assume !false; {6638#false} is VALID [2022-04-28 12:36:40,710 INFO L290 TraceCheckUtils]: 62: Hoare triple {6835#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6638#false} is VALID [2022-04-28 12:36:40,710 INFO L290 TraceCheckUtils]: 61: Hoare triple {6831#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6835#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:36:40,711 INFO L272 TraceCheckUtils]: 60: Hoare triple {6851#(= (+ (* 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)); {6831#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:36:40,711 INFO L290 TraceCheckUtils]: 59: Hoare triple {6855#(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); {6851#(= (+ (* 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-28 12:36:40,712 INFO L290 TraceCheckUtils]: 58: Hoare triple {6855#(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; {6855#(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-28 12:36:41,086 INFO L290 TraceCheckUtils]: 57: Hoare triple {6862#(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; {6855#(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-28 12:36:41,087 INFO L290 TraceCheckUtils]: 56: Hoare triple {6862#(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); {6862#(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-28 12:36:41,087 INFO L290 TraceCheckUtils]: 55: Hoare triple {6862#(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; {6862#(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-28 12:36:41,137 INFO L290 TraceCheckUtils]: 54: Hoare triple {6872#(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; {6862#(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-28 12:36:41,138 INFO L290 TraceCheckUtils]: 53: Hoare triple {6872#(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); {6872#(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-28 12:36:41,138 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6637#true} {6872#(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; {6872#(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-28 12:36:41,138 INFO L290 TraceCheckUtils]: 51: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 12:36:41,139 INFO L290 TraceCheckUtils]: 50: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 12:36:41,139 INFO L290 TraceCheckUtils]: 49: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 12:36:41,139 INFO L272 TraceCheckUtils]: 48: Hoare triple {6872#(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-28 12:36:41,139 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6637#true} {6872#(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; {6872#(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-28 12:36:41,140 INFO L290 TraceCheckUtils]: 46: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 12:36:41,140 INFO L290 TraceCheckUtils]: 45: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 12:36:41,140 INFO L290 TraceCheckUtils]: 44: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 12:36:41,140 INFO L272 TraceCheckUtils]: 43: Hoare triple {6872#(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-28 12:36:41,141 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6751#(not (= |__VERIFIER_assert_#in~cond| 0))} {6909#(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; {6872#(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-28 12:36:41,141 INFO L290 TraceCheckUtils]: 41: Hoare triple {6751#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6751#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:41,141 INFO L290 TraceCheckUtils]: 40: Hoare triple {6919#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6751#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:41,142 INFO L290 TraceCheckUtils]: 39: Hoare triple {6637#true} ~cond := #in~cond; {6919#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:36:41,142 INFO L272 TraceCheckUtils]: 38: Hoare triple {6909#(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-28 12:36:41,143 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6751#(not (= |__VERIFIER_assert_#in~cond| 0))} {6926#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 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)))) (= (+ 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; {6909#(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-28 12:36:41,143 INFO L290 TraceCheckUtils]: 36: Hoare triple {6751#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6751#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:41,143 INFO L290 TraceCheckUtils]: 35: Hoare triple {6919#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6751#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:41,144 INFO L290 TraceCheckUtils]: 34: Hoare triple {6637#true} ~cond := #in~cond; {6919#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:36:41,144 INFO L272 TraceCheckUtils]: 33: Hoare triple {6926#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 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)))) (= (+ 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-28 12:36:41,144 INFO L290 TraceCheckUtils]: 32: Hoare triple {6926#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 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)))) (= (+ 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; {6926#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 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)))) (= (+ 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-28 12:36:41,145 INFO L290 TraceCheckUtils]: 31: Hoare triple {6945#(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_~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_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6926#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 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)))) (= (+ 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-28 12:36:41,146 INFO L290 TraceCheckUtils]: 30: Hoare triple {6945#(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_~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_~c~0 main_~b~0)))} assume !false; {6945#(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_~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_~c~0 main_~b~0)))} is VALID [2022-04-28 12:36:41,146 INFO L290 TraceCheckUtils]: 29: Hoare triple {6637#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6945#(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_~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_~c~0 main_~b~0)))} is VALID [2022-04-28 12:36:41,146 INFO L290 TraceCheckUtils]: 28: Hoare triple {6637#true} assume !false; {6637#true} is VALID [2022-04-28 12:36:41,147 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; {6637#true} is VALID [2022-04-28 12:36:41,147 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6637#true} {6637#true} #100#return; {6637#true} is VALID [2022-04-28 12:36:41,147 INFO L290 TraceCheckUtils]: 25: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 12:36:41,147 INFO L290 TraceCheckUtils]: 24: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 12:36:41,147 INFO L290 TraceCheckUtils]: 23: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 12:36:41,147 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-28 12:36:41,147 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6637#true} {6637#true} #98#return; {6637#true} is VALID [2022-04-28 12:36:41,147 INFO L290 TraceCheckUtils]: 20: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 12:36:41,147 INFO L290 TraceCheckUtils]: 19: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 12:36:41,147 INFO L290 TraceCheckUtils]: 18: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 12:36:41,147 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-28 12:36:41,147 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6637#true} {6637#true} #96#return; {6637#true} is VALID [2022-04-28 12:36:41,148 INFO L290 TraceCheckUtils]: 15: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 12:36:41,148 INFO L290 TraceCheckUtils]: 14: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 12:36:41,148 INFO L290 TraceCheckUtils]: 13: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 12:36:41,148 INFO L272 TraceCheckUtils]: 12: Hoare triple {6637#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {6637#true} is VALID [2022-04-28 12:36:41,148 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-28 12:36:41,148 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6637#true} {6637#true} #94#return; {6637#true} is VALID [2022-04-28 12:36:41,148 INFO L290 TraceCheckUtils]: 9: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 12:36:41,148 INFO L290 TraceCheckUtils]: 8: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 12:36:41,148 INFO L290 TraceCheckUtils]: 7: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 12:36:41,148 INFO L272 TraceCheckUtils]: 6: Hoare triple {6637#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {6637#true} is VALID [2022-04-28 12:36:41,148 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-28 12:36:41,148 INFO L272 TraceCheckUtils]: 4: Hoare triple {6637#true} call #t~ret6 := main(); {6637#true} is VALID [2022-04-28 12:36:41,148 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6637#true} {6637#true} #112#return; {6637#true} is VALID [2022-04-28 12:36:41,148 INFO L290 TraceCheckUtils]: 2: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 12:36:41,149 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-28 12:36:41,149 INFO L272 TraceCheckUtils]: 0: Hoare triple {6637#true} call ULTIMATE.init(); {6637#true} is VALID [2022-04-28 12:36:41,149 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 16 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 12:36:41,149 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:36:41,149 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1698288358] [2022-04-28 12:36:41,149 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:36:41,149 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1012373091] [2022-04-28 12:36:41,149 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1012373091] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:36:41,149 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:36:41,150 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 21 [2022-04-28 12:36:41,150 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:36:41,150 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [388527615] [2022-04-28 12:36:41,150 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [388527615] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:36:41,150 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:36:41,150 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:36:41,150 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [767289254] [2022-04-28 12:36:41,150 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:36:41,150 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 64 [2022-04-28 12:36:41,151 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:36:41,151 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:36:41,187 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-28 12:36:41,187 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:36:41,187 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:36:41,187 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:36:41,187 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-28 12:36:41,188 INFO L87 Difference]: Start difference. First operand 140 states and 194 transitions. Second operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:36:43,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:43,268 INFO L93 Difference]: Finished difference Result 200 states and 283 transitions. [2022-04-28 12:36:43,268 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:36:43,268 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 64 [2022-04-28 12:36:43,268 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:36:43,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:36:43,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-28 12:36:43,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:36:43,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-28 12:36:43,272 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 131 transitions. [2022-04-28 12:36:43,403 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-28 12:36:43,406 INFO L225 Difference]: With dead ends: 200 [2022-04-28 12:36:43,406 INFO L226 Difference]: Without dead ends: 197 [2022-04-28 12:36:43,407 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 107 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 94 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=97, Invalid=503, Unknown=0, NotChecked=0, Total=600 [2022-04-28 12:36:43,412 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 53 mSDsluCounter, 265 mSDsCounter, 0 mSdLazyCounter, 634 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 69 SdHoareTripleChecker+Valid, 310 SdHoareTripleChecker+Invalid, 667 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 634 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 12:36:43,412 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [69 Valid, 310 Invalid, 667 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 634 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 12:36:43,412 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-28 12:36:43,840 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 193. [2022-04-28 12:36:43,840 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:36:43,840 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-28 12:36:43,841 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-28 12:36:43,843 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-28 12:36:43,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:43,848 INFO L93 Difference]: Finished difference Result 197 states and 279 transitions. [2022-04-28 12:36:43,848 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 279 transitions. [2022-04-28 12:36:43,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:36:43,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:36:43,849 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-28 12:36:43,850 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-28 12:36:43,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:43,855 INFO L93 Difference]: Finished difference Result 197 states and 279 transitions. [2022-04-28 12:36:43,855 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 279 transitions. [2022-04-28 12:36:43,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:36:43,874 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:36:43,874 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:36:43,874 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:36:43,874 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-28 12:36:43,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 275 transitions. [2022-04-28 12:36:43,881 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 275 transitions. Word has length 64 [2022-04-28 12:36:43,881 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:36:43,881 INFO L495 AbstractCegarLoop]: Abstraction has 193 states and 275 transitions. [2022-04-28 12:36:43,881 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:36:43,881 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 193 states and 275 transitions. [2022-04-28 12:36:44,242 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-28 12:36:44,242 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 275 transitions. [2022-04-28 12:36:44,242 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 12:36:44,242 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:36:44,243 INFO L195 NwaCegarLoop]: 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-28 12:36:44,260 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 12:36:44,455 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 12:36:44,455 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:36:44,456 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:36:44,456 INFO L85 PathProgramCache]: Analyzing trace with hash -368004398, now seen corresponding path program 3 times [2022-04-28 12:36:44,456 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:36:44,456 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1126615990] [2022-04-28 12:36:44,456 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:36:44,456 INFO L85 PathProgramCache]: Analyzing trace with hash -368004398, now seen corresponding path program 4 times [2022-04-28 12:36:44,456 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:36:44,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1105168412] [2022-04-28 12:36:44,457 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:36:44,457 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:36:44,469 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:36:44,469 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [529696480] [2022-04-28 12:36:44,469 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:36:44,469 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:36:44,469 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:36:44,470 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:36:44,471 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 12:36:44,510 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:36:44,510 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:36:44,510 INFO L263 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 12:36:44,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:36:44,520 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:36:44,726 INFO L272 TraceCheckUtils]: 0: Hoare triple {8229#true} call ULTIMATE.init(); {8229#true} is VALID [2022-04-28 12:36:44,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {8229#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); {8229#true} is VALID [2022-04-28 12:36:44,727 INFO L290 TraceCheckUtils]: 2: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,727 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8229#true} {8229#true} #112#return; {8229#true} is VALID [2022-04-28 12:36:44,727 INFO L272 TraceCheckUtils]: 4: Hoare triple {8229#true} call #t~ret6 := main(); {8229#true} is VALID [2022-04-28 12:36:44,727 INFO L290 TraceCheckUtils]: 5: Hoare triple {8229#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; {8229#true} is VALID [2022-04-28 12:36:44,727 INFO L272 TraceCheckUtils]: 6: Hoare triple {8229#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {8229#true} is VALID [2022-04-28 12:36:44,727 INFO L290 TraceCheckUtils]: 7: Hoare triple {8229#true} ~cond := #in~cond; {8229#true} is VALID [2022-04-28 12:36:44,727 INFO L290 TraceCheckUtils]: 8: Hoare triple {8229#true} assume !(0 == ~cond); {8229#true} is VALID [2022-04-28 12:36:44,727 INFO L290 TraceCheckUtils]: 9: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,727 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8229#true} {8229#true} #94#return; {8229#true} is VALID [2022-04-28 12:36:44,727 INFO L290 TraceCheckUtils]: 11: Hoare triple {8229#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8229#true} is VALID [2022-04-28 12:36:44,728 INFO L272 TraceCheckUtils]: 12: Hoare triple {8229#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {8229#true} is VALID [2022-04-28 12:36:44,728 INFO L290 TraceCheckUtils]: 13: Hoare triple {8229#true} ~cond := #in~cond; {8229#true} is VALID [2022-04-28 12:36:44,728 INFO L290 TraceCheckUtils]: 14: Hoare triple {8229#true} assume !(0 == ~cond); {8229#true} is VALID [2022-04-28 12:36:44,728 INFO L290 TraceCheckUtils]: 15: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,728 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8229#true} {8229#true} #96#return; {8229#true} is VALID [2022-04-28 12:36:44,728 INFO L272 TraceCheckUtils]: 17: Hoare triple {8229#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8229#true} is VALID [2022-04-28 12:36:44,728 INFO L290 TraceCheckUtils]: 18: Hoare triple {8229#true} ~cond := #in~cond; {8229#true} is VALID [2022-04-28 12:36:44,728 INFO L290 TraceCheckUtils]: 19: Hoare triple {8229#true} assume !(0 == ~cond); {8229#true} is VALID [2022-04-28 12:36:44,728 INFO L290 TraceCheckUtils]: 20: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,728 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8229#true} {8229#true} #98#return; {8229#true} is VALID [2022-04-28 12:36:44,728 INFO L272 TraceCheckUtils]: 22: Hoare triple {8229#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8229#true} is VALID [2022-04-28 12:36:44,728 INFO L290 TraceCheckUtils]: 23: Hoare triple {8229#true} ~cond := #in~cond; {8229#true} is VALID [2022-04-28 12:36:44,728 INFO L290 TraceCheckUtils]: 24: Hoare triple {8229#true} assume !(0 == ~cond); {8229#true} is VALID [2022-04-28 12:36:44,728 INFO L290 TraceCheckUtils]: 25: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,729 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8229#true} {8229#true} #100#return; {8229#true} is VALID [2022-04-28 12:36:44,729 INFO L290 TraceCheckUtils]: 27: Hoare triple {8229#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8229#true} is VALID [2022-04-28 12:36:44,729 INFO L290 TraceCheckUtils]: 28: Hoare triple {8229#true} assume !false; {8229#true} is VALID [2022-04-28 12:36:44,729 INFO L290 TraceCheckUtils]: 29: Hoare triple {8229#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8229#true} is VALID [2022-04-28 12:36:44,729 INFO L290 TraceCheckUtils]: 30: Hoare triple {8229#true} assume !false; {8229#true} is VALID [2022-04-28 12:36:44,729 INFO L290 TraceCheckUtils]: 31: Hoare triple {8229#true} assume !(~c~0 >= ~b~0); {8327#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:36:44,730 INFO L290 TraceCheckUtils]: 32: Hoare triple {8327#(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; {8331#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:36:44,730 INFO L290 TraceCheckUtils]: 33: Hoare triple {8331#(< main_~b~0 main_~a~0)} assume !false; {8331#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:36:44,730 INFO L290 TraceCheckUtils]: 34: Hoare triple {8331#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8338#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:36:44,730 INFO L290 TraceCheckUtils]: 35: Hoare triple {8338#(< main_~b~0 main_~c~0)} assume !false; {8338#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:36:44,731 INFO L290 TraceCheckUtils]: 36: Hoare triple {8338#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8345#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:36:44,731 INFO L290 TraceCheckUtils]: 37: Hoare triple {8345#(< main_~v~0 main_~c~0)} assume !false; {8345#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:36:44,731 INFO L272 TraceCheckUtils]: 38: Hoare triple {8345#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8229#true} is VALID [2022-04-28 12:36:44,731 INFO L290 TraceCheckUtils]: 39: Hoare triple {8229#true} ~cond := #in~cond; {8229#true} is VALID [2022-04-28 12:36:44,731 INFO L290 TraceCheckUtils]: 40: Hoare triple {8229#true} assume !(0 == ~cond); {8229#true} is VALID [2022-04-28 12:36:44,731 INFO L290 TraceCheckUtils]: 41: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,732 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8229#true} {8345#(< main_~v~0 main_~c~0)} #102#return; {8345#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:36:44,732 INFO L272 TraceCheckUtils]: 43: Hoare triple {8345#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8229#true} is VALID [2022-04-28 12:36:44,732 INFO L290 TraceCheckUtils]: 44: Hoare triple {8229#true} ~cond := #in~cond; {8229#true} is VALID [2022-04-28 12:36:44,732 INFO L290 TraceCheckUtils]: 45: Hoare triple {8229#true} assume !(0 == ~cond); {8229#true} is VALID [2022-04-28 12:36:44,732 INFO L290 TraceCheckUtils]: 46: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,733 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8229#true} {8345#(< main_~v~0 main_~c~0)} #104#return; {8345#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:36:44,733 INFO L272 TraceCheckUtils]: 48: Hoare triple {8345#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8229#true} is VALID [2022-04-28 12:36:44,733 INFO L290 TraceCheckUtils]: 49: Hoare triple {8229#true} ~cond := #in~cond; {8229#true} is VALID [2022-04-28 12:36:44,733 INFO L290 TraceCheckUtils]: 50: Hoare triple {8229#true} assume !(0 == ~cond); {8229#true} is VALID [2022-04-28 12:36:44,733 INFO L290 TraceCheckUtils]: 51: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,733 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8229#true} {8345#(< main_~v~0 main_~c~0)} #106#return; {8345#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:36:44,734 INFO L272 TraceCheckUtils]: 53: Hoare triple {8345#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {8229#true} is VALID [2022-04-28 12:36:44,734 INFO L290 TraceCheckUtils]: 54: Hoare triple {8229#true} ~cond := #in~cond; {8229#true} is VALID [2022-04-28 12:36:44,734 INFO L290 TraceCheckUtils]: 55: Hoare triple {8229#true} assume !(0 == ~cond); {8229#true} is VALID [2022-04-28 12:36:44,734 INFO L290 TraceCheckUtils]: 56: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,734 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8229#true} {8345#(< main_~v~0 main_~c~0)} #108#return; {8345#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:36:44,734 INFO L290 TraceCheckUtils]: 58: Hoare triple {8345#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8345#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:36:44,735 INFO L290 TraceCheckUtils]: 59: Hoare triple {8345#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8415#(< 0 main_~c~0)} is VALID [2022-04-28 12:36:44,735 INFO L290 TraceCheckUtils]: 60: Hoare triple {8415#(< 0 main_~c~0)} assume !false; {8415#(< 0 main_~c~0)} is VALID [2022-04-28 12:36:44,736 INFO L290 TraceCheckUtils]: 61: Hoare triple {8415#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {8415#(< 0 main_~c~0)} is VALID [2022-04-28 12:36:44,736 INFO L290 TraceCheckUtils]: 62: Hoare triple {8415#(< 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; {8425#(< 0 main_~b~0)} is VALID [2022-04-28 12:36:44,736 INFO L290 TraceCheckUtils]: 63: Hoare triple {8425#(< 0 main_~b~0)} assume !false; {8425#(< 0 main_~b~0)} is VALID [2022-04-28 12:36:44,737 INFO L290 TraceCheckUtils]: 64: Hoare triple {8425#(< 0 main_~b~0)} assume !(0 != ~b~0); {8230#false} is VALID [2022-04-28 12:36:44,737 INFO L272 TraceCheckUtils]: 65: Hoare triple {8230#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)); {8230#false} is VALID [2022-04-28 12:36:44,737 INFO L290 TraceCheckUtils]: 66: Hoare triple {8230#false} ~cond := #in~cond; {8230#false} is VALID [2022-04-28 12:36:44,737 INFO L290 TraceCheckUtils]: 67: Hoare triple {8230#false} assume 0 == ~cond; {8230#false} is VALID [2022-04-28 12:36:44,737 INFO L290 TraceCheckUtils]: 68: Hoare triple {8230#false} assume !false; {8230#false} is VALID [2022-04-28 12:36:44,737 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-28 12:36:44,737 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:36:44,935 INFO L290 TraceCheckUtils]: 68: Hoare triple {8230#false} assume !false; {8230#false} is VALID [2022-04-28 12:36:44,935 INFO L290 TraceCheckUtils]: 67: Hoare triple {8230#false} assume 0 == ~cond; {8230#false} is VALID [2022-04-28 12:36:44,935 INFO L290 TraceCheckUtils]: 66: Hoare triple {8230#false} ~cond := #in~cond; {8230#false} is VALID [2022-04-28 12:36:44,935 INFO L272 TraceCheckUtils]: 65: Hoare triple {8230#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)); {8230#false} is VALID [2022-04-28 12:36:44,935 INFO L290 TraceCheckUtils]: 64: Hoare triple {8425#(< 0 main_~b~0)} assume !(0 != ~b~0); {8230#false} is VALID [2022-04-28 12:36:44,935 INFO L290 TraceCheckUtils]: 63: Hoare triple {8425#(< 0 main_~b~0)} assume !false; {8425#(< 0 main_~b~0)} is VALID [2022-04-28 12:36:44,936 INFO L290 TraceCheckUtils]: 62: Hoare triple {8415#(< 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; {8425#(< 0 main_~b~0)} is VALID [2022-04-28 12:36:44,936 INFO L290 TraceCheckUtils]: 61: Hoare triple {8415#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {8415#(< 0 main_~c~0)} is VALID [2022-04-28 12:36:44,936 INFO L290 TraceCheckUtils]: 60: Hoare triple {8415#(< 0 main_~c~0)} assume !false; {8415#(< 0 main_~c~0)} is VALID [2022-04-28 12:36:44,937 INFO L290 TraceCheckUtils]: 59: Hoare triple {8345#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8415#(< 0 main_~c~0)} is VALID [2022-04-28 12:36:44,937 INFO L290 TraceCheckUtils]: 58: Hoare triple {8345#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8345#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:36:44,938 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8229#true} {8345#(< main_~v~0 main_~c~0)} #108#return; {8345#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:36:44,938 INFO L290 TraceCheckUtils]: 56: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,938 INFO L290 TraceCheckUtils]: 55: Hoare triple {8229#true} assume !(0 == ~cond); {8229#true} is VALID [2022-04-28 12:36:44,938 INFO L290 TraceCheckUtils]: 54: Hoare triple {8229#true} ~cond := #in~cond; {8229#true} is VALID [2022-04-28 12:36:44,938 INFO L272 TraceCheckUtils]: 53: Hoare triple {8345#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {8229#true} is VALID [2022-04-28 12:36:44,939 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8229#true} {8345#(< main_~v~0 main_~c~0)} #106#return; {8345#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:36:44,939 INFO L290 TraceCheckUtils]: 51: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,939 INFO L290 TraceCheckUtils]: 50: Hoare triple {8229#true} assume !(0 == ~cond); {8229#true} is VALID [2022-04-28 12:36:44,939 INFO L290 TraceCheckUtils]: 49: Hoare triple {8229#true} ~cond := #in~cond; {8229#true} is VALID [2022-04-28 12:36:44,939 INFO L272 TraceCheckUtils]: 48: Hoare triple {8345#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8229#true} is VALID [2022-04-28 12:36:44,939 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8229#true} {8345#(< main_~v~0 main_~c~0)} #104#return; {8345#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:36:44,939 INFO L290 TraceCheckUtils]: 46: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,940 INFO L290 TraceCheckUtils]: 45: Hoare triple {8229#true} assume !(0 == ~cond); {8229#true} is VALID [2022-04-28 12:36:44,940 INFO L290 TraceCheckUtils]: 44: Hoare triple {8229#true} ~cond := #in~cond; {8229#true} is VALID [2022-04-28 12:36:44,940 INFO L272 TraceCheckUtils]: 43: Hoare triple {8345#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8229#true} is VALID [2022-04-28 12:36:44,940 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8229#true} {8345#(< main_~v~0 main_~c~0)} #102#return; {8345#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:36:44,940 INFO L290 TraceCheckUtils]: 41: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,940 INFO L290 TraceCheckUtils]: 40: Hoare triple {8229#true} assume !(0 == ~cond); {8229#true} is VALID [2022-04-28 12:36:44,941 INFO L290 TraceCheckUtils]: 39: Hoare triple {8229#true} ~cond := #in~cond; {8229#true} is VALID [2022-04-28 12:36:44,941 INFO L272 TraceCheckUtils]: 38: Hoare triple {8345#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8229#true} is VALID [2022-04-28 12:36:44,955 INFO L290 TraceCheckUtils]: 37: Hoare triple {8345#(< main_~v~0 main_~c~0)} assume !false; {8345#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:36:44,956 INFO L290 TraceCheckUtils]: 36: Hoare triple {8338#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8345#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 12:36:44,956 INFO L290 TraceCheckUtils]: 35: Hoare triple {8338#(< main_~b~0 main_~c~0)} assume !false; {8338#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:36:44,957 INFO L290 TraceCheckUtils]: 34: Hoare triple {8331#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8338#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:36:44,957 INFO L290 TraceCheckUtils]: 33: Hoare triple {8331#(< main_~b~0 main_~a~0)} assume !false; {8331#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:36:44,958 INFO L290 TraceCheckUtils]: 32: Hoare triple {8327#(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; {8331#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:36:44,958 INFO L290 TraceCheckUtils]: 31: Hoare triple {8229#true} assume !(~c~0 >= ~b~0); {8327#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:36:44,958 INFO L290 TraceCheckUtils]: 30: Hoare triple {8229#true} assume !false; {8229#true} is VALID [2022-04-28 12:36:44,958 INFO L290 TraceCheckUtils]: 29: Hoare triple {8229#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8229#true} is VALID [2022-04-28 12:36:44,958 INFO L290 TraceCheckUtils]: 28: Hoare triple {8229#true} assume !false; {8229#true} is VALID [2022-04-28 12:36:44,958 INFO L290 TraceCheckUtils]: 27: Hoare triple {8229#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8229#true} is VALID [2022-04-28 12:36:44,958 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8229#true} {8229#true} #100#return; {8229#true} is VALID [2022-04-28 12:36:44,958 INFO L290 TraceCheckUtils]: 25: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,958 INFO L290 TraceCheckUtils]: 24: Hoare triple {8229#true} assume !(0 == ~cond); {8229#true} is VALID [2022-04-28 12:36:44,959 INFO L290 TraceCheckUtils]: 23: Hoare triple {8229#true} ~cond := #in~cond; {8229#true} is VALID [2022-04-28 12:36:44,959 INFO L272 TraceCheckUtils]: 22: Hoare triple {8229#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8229#true} is VALID [2022-04-28 12:36:44,959 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8229#true} {8229#true} #98#return; {8229#true} is VALID [2022-04-28 12:36:44,959 INFO L290 TraceCheckUtils]: 20: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,959 INFO L290 TraceCheckUtils]: 19: Hoare triple {8229#true} assume !(0 == ~cond); {8229#true} is VALID [2022-04-28 12:36:44,959 INFO L290 TraceCheckUtils]: 18: Hoare triple {8229#true} ~cond := #in~cond; {8229#true} is VALID [2022-04-28 12:36:44,959 INFO L272 TraceCheckUtils]: 17: Hoare triple {8229#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8229#true} is VALID [2022-04-28 12:36:44,959 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8229#true} {8229#true} #96#return; {8229#true} is VALID [2022-04-28 12:36:44,959 INFO L290 TraceCheckUtils]: 15: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,959 INFO L290 TraceCheckUtils]: 14: Hoare triple {8229#true} assume !(0 == ~cond); {8229#true} is VALID [2022-04-28 12:36:44,959 INFO L290 TraceCheckUtils]: 13: Hoare triple {8229#true} ~cond := #in~cond; {8229#true} is VALID [2022-04-28 12:36:44,959 INFO L272 TraceCheckUtils]: 12: Hoare triple {8229#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {8229#true} is VALID [2022-04-28 12:36:44,959 INFO L290 TraceCheckUtils]: 11: Hoare triple {8229#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8229#true} is VALID [2022-04-28 12:36:44,960 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8229#true} {8229#true} #94#return; {8229#true} is VALID [2022-04-28 12:36:44,960 INFO L290 TraceCheckUtils]: 9: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,960 INFO L290 TraceCheckUtils]: 8: Hoare triple {8229#true} assume !(0 == ~cond); {8229#true} is VALID [2022-04-28 12:36:44,960 INFO L290 TraceCheckUtils]: 7: Hoare triple {8229#true} ~cond := #in~cond; {8229#true} is VALID [2022-04-28 12:36:44,960 INFO L272 TraceCheckUtils]: 6: Hoare triple {8229#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {8229#true} is VALID [2022-04-28 12:36:44,960 INFO L290 TraceCheckUtils]: 5: Hoare triple {8229#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; {8229#true} is VALID [2022-04-28 12:36:44,960 INFO L272 TraceCheckUtils]: 4: Hoare triple {8229#true} call #t~ret6 := main(); {8229#true} is VALID [2022-04-28 12:36:44,960 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8229#true} {8229#true} #112#return; {8229#true} is VALID [2022-04-28 12:36:44,960 INFO L290 TraceCheckUtils]: 2: Hoare triple {8229#true} assume true; {8229#true} is VALID [2022-04-28 12:36:44,960 INFO L290 TraceCheckUtils]: 1: Hoare triple {8229#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); {8229#true} is VALID [2022-04-28 12:36:44,960 INFO L272 TraceCheckUtils]: 0: Hoare triple {8229#true} call ULTIMATE.init(); {8229#true} is VALID [2022-04-28 12:36:44,960 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-28 12:36:44,961 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:36:44,961 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1105168412] [2022-04-28 12:36:44,961 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:36:44,961 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [529696480] [2022-04-28 12:36:44,961 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [529696480] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:36:44,961 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:36:44,961 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-28 12:36:44,961 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:36:44,961 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1126615990] [2022-04-28 12:36:44,961 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1126615990] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:36:44,961 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:36:44,961 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:36:44,961 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1481162882] [2022-04-28 12:36:44,962 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:36:44,962 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-28 12:36:44,962 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:36:44,962 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-28 12:36:45,001 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:36:45,001 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:36:45,002 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:36:45,002 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:36:45,002 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:36:45,002 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-28 12:36:46,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:46,781 INFO L93 Difference]: Finished difference Result 288 states and 424 transitions. [2022-04-28 12:36:46,781 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 12:36:46,781 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-28 12:36:46,782 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:36:46,782 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-28 12:36:46,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-28 12:36:46,784 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-28 12:36:46,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-28 12:36:46,785 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 158 transitions. [2022-04-28 12:36:46,903 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:36:46,911 INFO L225 Difference]: With dead ends: 288 [2022-04-28 12:36:46,911 INFO L226 Difference]: Without dead ends: 281 [2022-04-28 12:36:46,911 INFO L412 NwaCegarLoop]: 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-28 12:36:46,912 INFO L413 NwaCegarLoop]: 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-28 12:36:46,912 INFO L414 NwaCegarLoop]: 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-28 12:36:46,913 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 281 states. [2022-04-28 12:36:47,411 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 281 to 208. [2022-04-28 12:36:47,411 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:36:47,412 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-28 12:36:47,412 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-28 12:36:47,412 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-28 12:36:47,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:47,420 INFO L93 Difference]: Finished difference Result 281 states and 417 transitions. [2022-04-28 12:36:47,420 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 417 transitions. [2022-04-28 12:36:47,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:36:47,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:36:47,421 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-28 12:36:47,421 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-28 12:36:47,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:47,428 INFO L93 Difference]: Finished difference Result 281 states and 417 transitions. [2022-04-28 12:36:47,428 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 417 transitions. [2022-04-28 12:36:47,429 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:36:47,429 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:36:47,430 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:36:47,430 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:36:47,430 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-28 12:36:47,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 296 transitions. [2022-04-28 12:36:47,435 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 296 transitions. Word has length 69 [2022-04-28 12:36:47,435 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:36:47,435 INFO L495 AbstractCegarLoop]: Abstraction has 208 states and 296 transitions. [2022-04-28 12:36:47,435 INFO L496 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-28 12:36:47,435 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 296 transitions. [2022-04-28 12:36:47,843 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-28 12:36:47,843 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 296 transitions. [2022-04-28 12:36:47,844 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 12:36:47,844 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:36:47,844 INFO L195 NwaCegarLoop]: 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-28 12:36:47,863 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 12:36:48,061 WARN L477 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-28 12:36:48,061 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:36:48,061 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:36:48,061 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 1 times [2022-04-28 12:36:48,061 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:36:48,061 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1495019196] [2022-04-28 12:36:48,062 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:36:48,062 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 2 times [2022-04-28 12:36:48,062 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:36:48,062 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1727952310] [2022-04-28 12:36:48,062 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:36:48,062 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:36:48,076 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:36:48,077 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1244691353] [2022-04-28 12:36:48,077 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:36:48,077 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:36:48,077 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:36:48,078 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:36:48,081 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 12:36:48,120 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:36:48,120 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:36:48,121 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:36:48,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:36:48,136 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:36:48,313 INFO L272 TraceCheckUtils]: 0: Hoare triple {10231#true} call ULTIMATE.init(); {10231#true} is VALID [2022-04-28 12:36:48,313 INFO L290 TraceCheckUtils]: 1: Hoare triple {10231#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); {10231#true} is VALID [2022-04-28 12:36:48,313 INFO L290 TraceCheckUtils]: 2: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,313 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10231#true} {10231#true} #112#return; {10231#true} is VALID [2022-04-28 12:36:48,313 INFO L272 TraceCheckUtils]: 4: Hoare triple {10231#true} call #t~ret6 := main(); {10231#true} is VALID [2022-04-28 12:36:48,313 INFO L290 TraceCheckUtils]: 5: Hoare triple {10231#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; {10231#true} is VALID [2022-04-28 12:36:48,313 INFO L272 TraceCheckUtils]: 6: Hoare triple {10231#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {10231#true} is VALID [2022-04-28 12:36:48,313 INFO L290 TraceCheckUtils]: 7: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,314 INFO L290 TraceCheckUtils]: 8: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,314 INFO L290 TraceCheckUtils]: 9: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,314 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10231#true} {10231#true} #94#return; {10231#true} is VALID [2022-04-28 12:36:48,314 INFO L290 TraceCheckUtils]: 11: Hoare triple {10231#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10231#true} is VALID [2022-04-28 12:36:48,314 INFO L272 TraceCheckUtils]: 12: Hoare triple {10231#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {10231#true} is VALID [2022-04-28 12:36:48,314 INFO L290 TraceCheckUtils]: 13: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,314 INFO L290 TraceCheckUtils]: 14: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,314 INFO L290 TraceCheckUtils]: 15: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,314 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10231#true} {10231#true} #96#return; {10231#true} is VALID [2022-04-28 12:36:48,314 INFO L272 TraceCheckUtils]: 17: Hoare triple {10231#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10231#true} is VALID [2022-04-28 12:36:48,314 INFO L290 TraceCheckUtils]: 18: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,314 INFO L290 TraceCheckUtils]: 19: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,314 INFO L290 TraceCheckUtils]: 20: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,315 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10231#true} {10231#true} #98#return; {10231#true} is VALID [2022-04-28 12:36:48,315 INFO L272 TraceCheckUtils]: 22: Hoare triple {10231#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10231#true} is VALID [2022-04-28 12:36:48,315 INFO L290 TraceCheckUtils]: 23: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,315 INFO L290 TraceCheckUtils]: 24: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,315 INFO L290 TraceCheckUtils]: 25: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,315 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10231#true} {10231#true} #100#return; {10231#true} is VALID [2022-04-28 12:36:48,315 INFO L290 TraceCheckUtils]: 27: Hoare triple {10231#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10231#true} is VALID [2022-04-28 12:36:48,315 INFO L290 TraceCheckUtils]: 28: Hoare triple {10231#true} assume !false; {10231#true} is VALID [2022-04-28 12:36:48,315 INFO L290 TraceCheckUtils]: 29: Hoare triple {10231#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10231#true} is VALID [2022-04-28 12:36:48,315 INFO L290 TraceCheckUtils]: 30: Hoare triple {10231#true} assume !false; {10231#true} is VALID [2022-04-28 12:36:48,327 INFO L290 TraceCheckUtils]: 31: Hoare triple {10231#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {10329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 12:36:48,328 INFO L290 TraceCheckUtils]: 32: Hoare triple {10329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !false; {10329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 12:36:48,328 INFO L272 TraceCheckUtils]: 33: Hoare triple {10329#(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)); {10231#true} is VALID [2022-04-28 12:36:48,328 INFO L290 TraceCheckUtils]: 34: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,328 INFO L290 TraceCheckUtils]: 35: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,328 INFO L290 TraceCheckUtils]: 36: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,328 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10231#true} {10329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #102#return; {10329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 12:36:48,329 INFO L272 TraceCheckUtils]: 38: Hoare triple {10329#(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)); {10231#true} is VALID [2022-04-28 12:36:48,329 INFO L290 TraceCheckUtils]: 39: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,329 INFO L290 TraceCheckUtils]: 40: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,329 INFO L290 TraceCheckUtils]: 41: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,329 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10231#true} {10329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #104#return; {10329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 12:36:48,329 INFO L272 TraceCheckUtils]: 43: Hoare triple {10329#(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)); {10231#true} is VALID [2022-04-28 12:36:48,330 INFO L290 TraceCheckUtils]: 44: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,330 INFO L290 TraceCheckUtils]: 45: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,330 INFO L290 TraceCheckUtils]: 46: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,330 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10231#true} {10329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #106#return; {10329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 12:36:48,330 INFO L272 TraceCheckUtils]: 48: Hoare triple {10329#(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)); {10231#true} is VALID [2022-04-28 12:36:48,330 INFO L290 TraceCheckUtils]: 49: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,330 INFO L290 TraceCheckUtils]: 50: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,330 INFO L290 TraceCheckUtils]: 51: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,331 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10231#true} {10329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #108#return; {10329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 12:36:48,331 INFO L290 TraceCheckUtils]: 53: Hoare triple {10329#(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; {10396#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-28 12:36:48,332 INFO L290 TraceCheckUtils]: 54: Hoare triple {10396#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} assume !false; {10396#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-28 12:36:48,332 INFO L272 TraceCheckUtils]: 55: Hoare triple {10396#(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)); {10231#true} is VALID [2022-04-28 12:36:48,332 INFO L290 TraceCheckUtils]: 56: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,332 INFO L290 TraceCheckUtils]: 57: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,332 INFO L290 TraceCheckUtils]: 58: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,333 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10231#true} {10396#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} #102#return; {10396#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-28 12:36:48,333 INFO L272 TraceCheckUtils]: 60: Hoare triple {10396#(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)); {10231#true} is VALID [2022-04-28 12:36:48,333 INFO L290 TraceCheckUtils]: 61: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,333 INFO L290 TraceCheckUtils]: 62: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,333 INFO L290 TraceCheckUtils]: 63: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,333 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10231#true} {10396#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} #104#return; {10396#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-28 12:36:48,334 INFO L272 TraceCheckUtils]: 65: Hoare triple {10396#(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)); {10231#true} is VALID [2022-04-28 12:36:48,334 INFO L290 TraceCheckUtils]: 66: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,334 INFO L290 TraceCheckUtils]: 67: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,334 INFO L290 TraceCheckUtils]: 68: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,334 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10231#true} {10396#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} #106#return; {10396#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-28 12:36:48,335 INFO L272 TraceCheckUtils]: 70: Hoare triple {10396#(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)); {10448#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:36:48,335 INFO L290 TraceCheckUtils]: 71: Hoare triple {10448#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10452#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:36:48,335 INFO L290 TraceCheckUtils]: 72: Hoare triple {10452#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10232#false} is VALID [2022-04-28 12:36:48,336 INFO L290 TraceCheckUtils]: 73: Hoare triple {10232#false} assume !false; {10232#false} is VALID [2022-04-28 12:36:48,336 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-28 12:36:48,336 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:36:48,531 INFO L290 TraceCheckUtils]: 73: Hoare triple {10232#false} assume !false; {10232#false} is VALID [2022-04-28 12:36:48,531 INFO L290 TraceCheckUtils]: 72: Hoare triple {10452#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10232#false} is VALID [2022-04-28 12:36:48,532 INFO L290 TraceCheckUtils]: 71: Hoare triple {10448#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10452#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:36:48,532 INFO L272 TraceCheckUtils]: 70: Hoare triple {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10448#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:36:48,533 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10231#true} {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 12:36:48,533 INFO L290 TraceCheckUtils]: 68: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,533 INFO L290 TraceCheckUtils]: 67: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,533 INFO L290 TraceCheckUtils]: 66: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,533 INFO L272 TraceCheckUtils]: 65: Hoare triple {10468#(= 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)); {10231#true} is VALID [2022-04-28 12:36:48,535 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10231#true} {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 12:36:48,535 INFO L290 TraceCheckUtils]: 63: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,535 INFO L290 TraceCheckUtils]: 62: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,535 INFO L290 TraceCheckUtils]: 61: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,535 INFO L272 TraceCheckUtils]: 60: Hoare triple {10468#(= 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)); {10231#true} is VALID [2022-04-28 12:36:48,536 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10231#true} {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 12:36:48,536 INFO L290 TraceCheckUtils]: 58: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,536 INFO L290 TraceCheckUtils]: 57: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,536 INFO L290 TraceCheckUtils]: 56: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,536 INFO L272 TraceCheckUtils]: 55: Hoare triple {10468#(= 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)); {10231#true} is VALID [2022-04-28 12:36:48,537 INFO L290 TraceCheckUtils]: 54: Hoare triple {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 12:36:48,538 INFO L290 TraceCheckUtils]: 53: Hoare triple {10468#(= 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; {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 12:36:48,539 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10231#true} {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} #108#return; {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 12:36:48,539 INFO L290 TraceCheckUtils]: 51: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,539 INFO L290 TraceCheckUtils]: 50: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,539 INFO L290 TraceCheckUtils]: 49: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,539 INFO L272 TraceCheckUtils]: 48: Hoare triple {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10231#true} is VALID [2022-04-28 12:36:48,540 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10231#true} {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 12:36:48,540 INFO L290 TraceCheckUtils]: 46: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,540 INFO L290 TraceCheckUtils]: 45: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,540 INFO L290 TraceCheckUtils]: 44: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,540 INFO L272 TraceCheckUtils]: 43: Hoare triple {10468#(= 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)); {10231#true} is VALID [2022-04-28 12:36:48,540 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10231#true} {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 12:36:48,541 INFO L290 TraceCheckUtils]: 41: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,541 INFO L290 TraceCheckUtils]: 40: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,541 INFO L290 TraceCheckUtils]: 39: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,541 INFO L272 TraceCheckUtils]: 38: Hoare triple {10468#(= 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)); {10231#true} is VALID [2022-04-28 12:36:48,541 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10231#true} {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 12:36:48,541 INFO L290 TraceCheckUtils]: 36: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,541 INFO L290 TraceCheckUtils]: 35: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,542 INFO L290 TraceCheckUtils]: 34: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,542 INFO L272 TraceCheckUtils]: 33: Hoare triple {10468#(= 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)); {10231#true} is VALID [2022-04-28 12:36:48,542 INFO L290 TraceCheckUtils]: 32: Hoare triple {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 12:36:48,542 INFO L290 TraceCheckUtils]: 31: Hoare triple {10231#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {10468#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 12:36:48,542 INFO L290 TraceCheckUtils]: 30: Hoare triple {10231#true} assume !false; {10231#true} is VALID [2022-04-28 12:36:48,542 INFO L290 TraceCheckUtils]: 29: Hoare triple {10231#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10231#true} is VALID [2022-04-28 12:36:48,542 INFO L290 TraceCheckUtils]: 28: Hoare triple {10231#true} assume !false; {10231#true} is VALID [2022-04-28 12:36:48,543 INFO L290 TraceCheckUtils]: 27: Hoare triple {10231#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10231#true} is VALID [2022-04-28 12:36:48,543 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10231#true} {10231#true} #100#return; {10231#true} is VALID [2022-04-28 12:36:48,543 INFO L290 TraceCheckUtils]: 25: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,543 INFO L290 TraceCheckUtils]: 24: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,543 INFO L290 TraceCheckUtils]: 23: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,543 INFO L272 TraceCheckUtils]: 22: Hoare triple {10231#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10231#true} is VALID [2022-04-28 12:36:48,543 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10231#true} {10231#true} #98#return; {10231#true} is VALID [2022-04-28 12:36:48,543 INFO L290 TraceCheckUtils]: 20: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,543 INFO L290 TraceCheckUtils]: 19: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,543 INFO L290 TraceCheckUtils]: 18: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,543 INFO L272 TraceCheckUtils]: 17: Hoare triple {10231#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10231#true} is VALID [2022-04-28 12:36:48,543 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10231#true} {10231#true} #96#return; {10231#true} is VALID [2022-04-28 12:36:48,543 INFO L290 TraceCheckUtils]: 15: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,543 INFO L290 TraceCheckUtils]: 14: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,544 INFO L290 TraceCheckUtils]: 13: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,544 INFO L272 TraceCheckUtils]: 12: Hoare triple {10231#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {10231#true} is VALID [2022-04-28 12:36:48,544 INFO L290 TraceCheckUtils]: 11: Hoare triple {10231#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10231#true} is VALID [2022-04-28 12:36:48,544 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10231#true} {10231#true} #94#return; {10231#true} is VALID [2022-04-28 12:36:48,544 INFO L290 TraceCheckUtils]: 9: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,544 INFO L290 TraceCheckUtils]: 8: Hoare triple {10231#true} assume !(0 == ~cond); {10231#true} is VALID [2022-04-28 12:36:48,544 INFO L290 TraceCheckUtils]: 7: Hoare triple {10231#true} ~cond := #in~cond; {10231#true} is VALID [2022-04-28 12:36:48,544 INFO L272 TraceCheckUtils]: 6: Hoare triple {10231#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {10231#true} is VALID [2022-04-28 12:36:48,544 INFO L290 TraceCheckUtils]: 5: Hoare triple {10231#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; {10231#true} is VALID [2022-04-28 12:36:48,544 INFO L272 TraceCheckUtils]: 4: Hoare triple {10231#true} call #t~ret6 := main(); {10231#true} is VALID [2022-04-28 12:36:48,544 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10231#true} {10231#true} #112#return; {10231#true} is VALID [2022-04-28 12:36:48,544 INFO L290 TraceCheckUtils]: 2: Hoare triple {10231#true} assume true; {10231#true} is VALID [2022-04-28 12:36:48,544 INFO L290 TraceCheckUtils]: 1: Hoare triple {10231#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); {10231#true} is VALID [2022-04-28 12:36:48,544 INFO L272 TraceCheckUtils]: 0: Hoare triple {10231#true} call ULTIMATE.init(); {10231#true} is VALID [2022-04-28 12:36:48,545 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-28 12:36:48,545 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:36:48,545 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1727952310] [2022-04-28 12:36:48,545 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:36:48,545 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1244691353] [2022-04-28 12:36:48,545 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1244691353] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:36:48,545 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:36:48,545 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-28 12:36:48,545 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:36:48,545 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1495019196] [2022-04-28 12:36:48,546 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1495019196] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:36:48,546 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:36:48,546 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:36:48,546 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [165076801] [2022-04-28 12:36:48,546 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:36:48,546 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-28 12:36:48,546 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:36:48,546 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-28 12:36:48,576 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:36:48,576 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:36:48,576 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:36:48,577 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:36:48,577 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 12:36:48,577 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-28 12:36:49,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:49,269 INFO L93 Difference]: Finished difference Result 214 states and 301 transitions. [2022-04-28 12:36:49,269 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:36:49,269 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-28 12:36:49,269 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:36:49,269 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-28 12:36:49,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 12:36:49,275 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-28 12:36:49,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 12:36:49,276 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-28 12:36:49,311 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-28 12:36:49,315 INFO L225 Difference]: With dead ends: 214 [2022-04-28 12:36:49,315 INFO L226 Difference]: Without dead ends: 212 [2022-04-28 12:36:49,315 INFO L412 NwaCegarLoop]: 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-28 12:36:49,315 INFO L413 NwaCegarLoop]: 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-28 12:36:49,316 INFO L414 NwaCegarLoop]: 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-28 12:36:49,316 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-28 12:36:49,808 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-28 12:36:49,808 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:36:49,809 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-28 12:36:49,809 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-28 12:36:49,809 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-28 12:36:49,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:49,813 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-28 12:36:49,814 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-28 12:36:49,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:36:49,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:36:49,815 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-28 12:36:49,815 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-28 12:36:49,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:36:49,819 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-28 12:36:49,819 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-28 12:36:49,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:36:49,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:36:49,820 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:36:49,820 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:36:49,820 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-28 12:36:49,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 299 transitions. [2022-04-28 12:36:49,824 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 299 transitions. Word has length 74 [2022-04-28 12:36:49,825 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:36:49,825 INFO L495 AbstractCegarLoop]: Abstraction has 212 states and 299 transitions. [2022-04-28 12:36:49,825 INFO L496 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-28 12:36:49,825 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 212 states and 299 transitions. [2022-04-28 12:36:50,316 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-28 12:36:50,316 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-28 12:36:50,317 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-28 12:36:50,317 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:36:50,317 INFO L195 NwaCegarLoop]: 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-28 12:36:50,333 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 12:36:50,531 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 12:36:50,531 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:36:50,531 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:36:50,531 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 1 times [2022-04-28 12:36:50,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:36:50,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1647195725] [2022-04-28 12:36:50,532 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:36:50,532 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 2 times [2022-04-28 12:36:50,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:36:50,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1743500036] [2022-04-28 12:36:50,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:36:50,532 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:36:50,543 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:36:50,543 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1886524992] [2022-04-28 12:36:50,543 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:36:50,543 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:36:50,543 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:36:50,544 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:36:50,545 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 12:36:50,587 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:36:50,587 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:36:50,587 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 12:36:50,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:36:50,596 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:36:50,757 INFO L272 TraceCheckUtils]: 0: Hoare triple {11959#true} call ULTIMATE.init(); {11959#true} is VALID [2022-04-28 12:36:50,757 INFO L290 TraceCheckUtils]: 1: Hoare triple {11959#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); {11959#true} is VALID [2022-04-28 12:36:50,757 INFO L290 TraceCheckUtils]: 2: Hoare triple {11959#true} assume true; {11959#true} is VALID [2022-04-28 12:36:50,757 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11959#true} {11959#true} #112#return; {11959#true} is VALID [2022-04-28 12:36:50,758 INFO L272 TraceCheckUtils]: 4: Hoare triple {11959#true} call #t~ret6 := main(); {11959#true} is VALID [2022-04-28 12:36:50,758 INFO L290 TraceCheckUtils]: 5: Hoare triple {11959#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; {11959#true} is VALID [2022-04-28 12:36:50,758 INFO L272 TraceCheckUtils]: 6: Hoare triple {11959#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {11959#true} is VALID [2022-04-28 12:36:50,758 INFO L290 TraceCheckUtils]: 7: Hoare triple {11959#true} ~cond := #in~cond; {11959#true} is VALID [2022-04-28 12:36:50,758 INFO L290 TraceCheckUtils]: 8: Hoare triple {11959#true} assume !(0 == ~cond); {11959#true} is VALID [2022-04-28 12:36:50,758 INFO L290 TraceCheckUtils]: 9: Hoare triple {11959#true} assume true; {11959#true} is VALID [2022-04-28 12:36:50,758 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11959#true} {11959#true} #94#return; {11959#true} is VALID [2022-04-28 12:36:50,758 INFO L290 TraceCheckUtils]: 11: Hoare triple {11959#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11959#true} is VALID [2022-04-28 12:36:50,758 INFO L272 TraceCheckUtils]: 12: Hoare triple {11959#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {11959#true} is VALID [2022-04-28 12:36:50,758 INFO L290 TraceCheckUtils]: 13: Hoare triple {11959#true} ~cond := #in~cond; {11959#true} is VALID [2022-04-28 12:36:50,758 INFO L290 TraceCheckUtils]: 14: Hoare triple {11959#true} assume !(0 == ~cond); {11959#true} is VALID [2022-04-28 12:36:50,758 INFO L290 TraceCheckUtils]: 15: Hoare triple {11959#true} assume true; {11959#true} is VALID [2022-04-28 12:36:50,758 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11959#true} {11959#true} #96#return; {11959#true} is VALID [2022-04-28 12:36:50,758 INFO L272 TraceCheckUtils]: 17: Hoare triple {11959#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11959#true} is VALID [2022-04-28 12:36:50,759 INFO L290 TraceCheckUtils]: 18: Hoare triple {11959#true} ~cond := #in~cond; {11959#true} is VALID [2022-04-28 12:36:50,759 INFO L290 TraceCheckUtils]: 19: Hoare triple {11959#true} assume !(0 == ~cond); {11959#true} is VALID [2022-04-28 12:36:50,759 INFO L290 TraceCheckUtils]: 20: Hoare triple {11959#true} assume true; {11959#true} is VALID [2022-04-28 12:36:50,759 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11959#true} {11959#true} #98#return; {11959#true} is VALID [2022-04-28 12:36:50,759 INFO L272 TraceCheckUtils]: 22: Hoare triple {11959#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11959#true} is VALID [2022-04-28 12:36:50,759 INFO L290 TraceCheckUtils]: 23: Hoare triple {11959#true} ~cond := #in~cond; {11959#true} is VALID [2022-04-28 12:36:50,759 INFO L290 TraceCheckUtils]: 24: Hoare triple {11959#true} assume !(0 == ~cond); {11959#true} is VALID [2022-04-28 12:36:50,759 INFO L290 TraceCheckUtils]: 25: Hoare triple {11959#true} assume true; {11959#true} is VALID [2022-04-28 12:36:50,759 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11959#true} {11959#true} #100#return; {11959#true} is VALID [2022-04-28 12:36:50,759 INFO L290 TraceCheckUtils]: 27: Hoare triple {11959#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11959#true} is VALID [2022-04-28 12:36:50,759 INFO L290 TraceCheckUtils]: 28: Hoare triple {11959#true} assume !false; {11959#true} is VALID [2022-04-28 12:36:50,759 INFO L290 TraceCheckUtils]: 29: Hoare triple {11959#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11959#true} is VALID [2022-04-28 12:36:50,759 INFO L290 TraceCheckUtils]: 30: Hoare triple {11959#true} assume !false; {11959#true} is VALID [2022-04-28 12:36:50,759 INFO L290 TraceCheckUtils]: 31: Hoare triple {11959#true} assume !(~c~0 >= ~b~0); {11959#true} is VALID [2022-04-28 12:36:50,760 INFO L290 TraceCheckUtils]: 32: Hoare triple {11959#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; {11959#true} is VALID [2022-04-28 12:36:50,760 INFO L290 TraceCheckUtils]: 33: Hoare triple {11959#true} assume !false; {11959#true} is VALID [2022-04-28 12:36:50,760 INFO L290 TraceCheckUtils]: 34: Hoare triple {11959#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11959#true} is VALID [2022-04-28 12:36:50,760 INFO L290 TraceCheckUtils]: 35: Hoare triple {11959#true} assume !false; {11959#true} is VALID [2022-04-28 12:36:50,760 INFO L290 TraceCheckUtils]: 36: Hoare triple {11959#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11959#true} is VALID [2022-04-28 12:36:50,760 INFO L290 TraceCheckUtils]: 37: Hoare triple {11959#true} assume !false; {11959#true} is VALID [2022-04-28 12:36:50,760 INFO L272 TraceCheckUtils]: 38: Hoare triple {11959#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11959#true} is VALID [2022-04-28 12:36:50,760 INFO L290 TraceCheckUtils]: 39: Hoare triple {11959#true} ~cond := #in~cond; {11959#true} is VALID [2022-04-28 12:36:50,760 INFO L290 TraceCheckUtils]: 40: Hoare triple {11959#true} assume !(0 == ~cond); {11959#true} is VALID [2022-04-28 12:36:50,760 INFO L290 TraceCheckUtils]: 41: Hoare triple {11959#true} assume true; {11959#true} is VALID [2022-04-28 12:36:50,760 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11959#true} {11959#true} #102#return; {11959#true} is VALID [2022-04-28 12:36:50,760 INFO L272 TraceCheckUtils]: 43: Hoare triple {11959#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11959#true} is VALID [2022-04-28 12:36:50,761 INFO L290 TraceCheckUtils]: 44: Hoare triple {11959#true} ~cond := #in~cond; {12096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:36:50,761 INFO L290 TraceCheckUtils]: 45: Hoare triple {12096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:50,762 INFO L290 TraceCheckUtils]: 46: Hoare triple {12100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:36:50,771 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {12100#(not (= |__VERIFIER_assert_#in~cond| 0))} {11959#true} #104#return; {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:36:50,772 INFO L272 TraceCheckUtils]: 48: Hoare triple {12107#(= 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)); {11959#true} is VALID [2022-04-28 12:36:50,772 INFO L290 TraceCheckUtils]: 49: Hoare triple {11959#true} ~cond := #in~cond; {11959#true} is VALID [2022-04-28 12:36:50,772 INFO L290 TraceCheckUtils]: 50: Hoare triple {11959#true} assume !(0 == ~cond); {11959#true} is VALID [2022-04-28 12:36:50,772 INFO L290 TraceCheckUtils]: 51: Hoare triple {11959#true} assume true; {11959#true} is VALID [2022-04-28 12:36:50,772 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11959#true} {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #106#return; {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:36:50,773 INFO L272 TraceCheckUtils]: 53: Hoare triple {12107#(= 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)); {11959#true} is VALID [2022-04-28 12:36:50,773 INFO L290 TraceCheckUtils]: 54: Hoare triple {11959#true} ~cond := #in~cond; {11959#true} is VALID [2022-04-28 12:36:50,773 INFO L290 TraceCheckUtils]: 55: Hoare triple {11959#true} assume !(0 == ~cond); {11959#true} is VALID [2022-04-28 12:36:50,773 INFO L290 TraceCheckUtils]: 56: Hoare triple {11959#true} assume true; {11959#true} is VALID [2022-04-28 12:36:50,773 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11959#true} {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #108#return; {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:36:50,774 INFO L290 TraceCheckUtils]: 58: Hoare triple {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= 2 * ~v~0); {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:36:50,774 INFO L290 TraceCheckUtils]: 59: Hoare triple {12107#(= 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; {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:36:50,774 INFO L290 TraceCheckUtils]: 60: Hoare triple {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:36:50,775 INFO L290 TraceCheckUtils]: 61: Hoare triple {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:36:50,775 INFO L290 TraceCheckUtils]: 62: Hoare triple {12107#(= 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; {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:36:50,776 INFO L290 TraceCheckUtils]: 63: Hoare triple {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:36:50,776 INFO L290 TraceCheckUtils]: 64: Hoare triple {12153#(= 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; {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:36:50,776 INFO L290 TraceCheckUtils]: 65: Hoare triple {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:36:50,777 INFO L290 TraceCheckUtils]: 66: Hoare triple {12153#(= 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; {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:36:50,777 INFO L290 TraceCheckUtils]: 67: Hoare triple {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:36:50,777 INFO L272 TraceCheckUtils]: 68: Hoare triple {12153#(= 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)); {12172#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:36:50,778 INFO L290 TraceCheckUtils]: 69: Hoare triple {12172#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12176#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:36:50,778 INFO L290 TraceCheckUtils]: 70: Hoare triple {12176#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11960#false} is VALID [2022-04-28 12:36:50,778 INFO L290 TraceCheckUtils]: 71: Hoare triple {11960#false} assume !false; {11960#false} is VALID [2022-04-28 12:36:50,778 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-28 12:36:50,778 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:37:01,882 INFO L290 TraceCheckUtils]: 71: Hoare triple {11960#false} assume !false; {11960#false} is VALID [2022-04-28 12:37:01,882 INFO L290 TraceCheckUtils]: 70: Hoare triple {12176#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11960#false} is VALID [2022-04-28 12:37:01,883 INFO L290 TraceCheckUtils]: 69: Hoare triple {12172#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12176#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:37:01,883 INFO L272 TraceCheckUtils]: 68: Hoare triple {12153#(= 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)); {12172#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:37:01,884 INFO L290 TraceCheckUtils]: 67: Hoare triple {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:37:01,884 INFO L290 TraceCheckUtils]: 66: Hoare triple {12153#(= 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; {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:37:01,884 INFO L290 TraceCheckUtils]: 65: Hoare triple {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:37:01,885 INFO L290 TraceCheckUtils]: 64: Hoare triple {12153#(= 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; {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:37:01,885 INFO L290 TraceCheckUtils]: 63: Hoare triple {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:37:01,885 INFO L290 TraceCheckUtils]: 62: Hoare triple {12107#(= 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; {12153#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:37:01,886 INFO L290 TraceCheckUtils]: 61: Hoare triple {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:37:01,886 INFO L290 TraceCheckUtils]: 60: Hoare triple {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:37:01,886 INFO L290 TraceCheckUtils]: 59: Hoare triple {12107#(= 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; {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:37:01,887 INFO L290 TraceCheckUtils]: 58: Hoare triple {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= 2 * ~v~0); {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:37:01,887 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11959#true} {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #108#return; {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:37:01,887 INFO L290 TraceCheckUtils]: 56: Hoare triple {11959#true} assume true; {11959#true} is VALID [2022-04-28 12:37:01,887 INFO L290 TraceCheckUtils]: 55: Hoare triple {11959#true} assume !(0 == ~cond); {11959#true} is VALID [2022-04-28 12:37:01,887 INFO L290 TraceCheckUtils]: 54: Hoare triple {11959#true} ~cond := #in~cond; {11959#true} is VALID [2022-04-28 12:37:01,888 INFO L272 TraceCheckUtils]: 53: Hoare triple {12107#(= 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)); {11959#true} is VALID [2022-04-28 12:37:01,888 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11959#true} {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #106#return; {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:37:01,888 INFO L290 TraceCheckUtils]: 51: Hoare triple {11959#true} assume true; {11959#true} is VALID [2022-04-28 12:37:01,888 INFO L290 TraceCheckUtils]: 50: Hoare triple {11959#true} assume !(0 == ~cond); {11959#true} is VALID [2022-04-28 12:37:01,889 INFO L290 TraceCheckUtils]: 49: Hoare triple {11959#true} ~cond := #in~cond; {11959#true} is VALID [2022-04-28 12:37:01,889 INFO L272 TraceCheckUtils]: 48: Hoare triple {12107#(= 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)); {11959#true} is VALID [2022-04-28 12:37:01,889 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {12100#(not (= |__VERIFIER_assert_#in~cond| 0))} {11959#true} #104#return; {12107#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:37:01,890 INFO L290 TraceCheckUtils]: 46: Hoare triple {12100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:01,890 INFO L290 TraceCheckUtils]: 45: Hoare triple {12264#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:01,890 INFO L290 TraceCheckUtils]: 44: Hoare triple {11959#true} ~cond := #in~cond; {12264#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:37:01,890 INFO L272 TraceCheckUtils]: 43: Hoare triple {11959#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11959#true} is VALID [2022-04-28 12:37:01,890 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11959#true} {11959#true} #102#return; {11959#true} is VALID [2022-04-28 12:37:01,891 INFO L290 TraceCheckUtils]: 41: Hoare triple {11959#true} assume true; {11959#true} is VALID [2022-04-28 12:37:01,891 INFO L290 TraceCheckUtils]: 40: Hoare triple {11959#true} assume !(0 == ~cond); {11959#true} is VALID [2022-04-28 12:37:01,891 INFO L290 TraceCheckUtils]: 39: Hoare triple {11959#true} ~cond := #in~cond; {11959#true} is VALID [2022-04-28 12:37:01,891 INFO L272 TraceCheckUtils]: 38: Hoare triple {11959#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11959#true} is VALID [2022-04-28 12:37:01,891 INFO L290 TraceCheckUtils]: 37: Hoare triple {11959#true} assume !false; {11959#true} is VALID [2022-04-28 12:37:01,891 INFO L290 TraceCheckUtils]: 36: Hoare triple {11959#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11959#true} is VALID [2022-04-28 12:37:01,891 INFO L290 TraceCheckUtils]: 35: Hoare triple {11959#true} assume !false; {11959#true} is VALID [2022-04-28 12:37:01,891 INFO L290 TraceCheckUtils]: 34: Hoare triple {11959#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11959#true} is VALID [2022-04-28 12:37:01,891 INFO L290 TraceCheckUtils]: 33: Hoare triple {11959#true} assume !false; {11959#true} is VALID [2022-04-28 12:37:01,891 INFO L290 TraceCheckUtils]: 32: Hoare triple {11959#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; {11959#true} is VALID [2022-04-28 12:37:01,891 INFO L290 TraceCheckUtils]: 31: Hoare triple {11959#true} assume !(~c~0 >= ~b~0); {11959#true} is VALID [2022-04-28 12:37:01,891 INFO L290 TraceCheckUtils]: 30: Hoare triple {11959#true} assume !false; {11959#true} is VALID [2022-04-28 12:37:01,891 INFO L290 TraceCheckUtils]: 29: Hoare triple {11959#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11959#true} is VALID [2022-04-28 12:37:01,891 INFO L290 TraceCheckUtils]: 28: Hoare triple {11959#true} assume !false; {11959#true} is VALID [2022-04-28 12:37:01,892 INFO L290 TraceCheckUtils]: 27: Hoare triple {11959#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11959#true} is VALID [2022-04-28 12:37:01,892 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11959#true} {11959#true} #100#return; {11959#true} is VALID [2022-04-28 12:37:01,892 INFO L290 TraceCheckUtils]: 25: Hoare triple {11959#true} assume true; {11959#true} is VALID [2022-04-28 12:37:01,892 INFO L290 TraceCheckUtils]: 24: Hoare triple {11959#true} assume !(0 == ~cond); {11959#true} is VALID [2022-04-28 12:37:01,892 INFO L290 TraceCheckUtils]: 23: Hoare triple {11959#true} ~cond := #in~cond; {11959#true} is VALID [2022-04-28 12:37:01,892 INFO L272 TraceCheckUtils]: 22: Hoare triple {11959#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11959#true} is VALID [2022-04-28 12:37:01,892 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11959#true} {11959#true} #98#return; {11959#true} is VALID [2022-04-28 12:37:01,892 INFO L290 TraceCheckUtils]: 20: Hoare triple {11959#true} assume true; {11959#true} is VALID [2022-04-28 12:37:01,892 INFO L290 TraceCheckUtils]: 19: Hoare triple {11959#true} assume !(0 == ~cond); {11959#true} is VALID [2022-04-28 12:37:01,892 INFO L290 TraceCheckUtils]: 18: Hoare triple {11959#true} ~cond := #in~cond; {11959#true} is VALID [2022-04-28 12:37:01,892 INFO L272 TraceCheckUtils]: 17: Hoare triple {11959#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11959#true} is VALID [2022-04-28 12:37:01,892 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11959#true} {11959#true} #96#return; {11959#true} is VALID [2022-04-28 12:37:01,892 INFO L290 TraceCheckUtils]: 15: Hoare triple {11959#true} assume true; {11959#true} is VALID [2022-04-28 12:37:01,892 INFO L290 TraceCheckUtils]: 14: Hoare triple {11959#true} assume !(0 == ~cond); {11959#true} is VALID [2022-04-28 12:37:01,893 INFO L290 TraceCheckUtils]: 13: Hoare triple {11959#true} ~cond := #in~cond; {11959#true} is VALID [2022-04-28 12:37:01,893 INFO L272 TraceCheckUtils]: 12: Hoare triple {11959#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {11959#true} is VALID [2022-04-28 12:37:01,893 INFO L290 TraceCheckUtils]: 11: Hoare triple {11959#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11959#true} is VALID [2022-04-28 12:37:01,893 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11959#true} {11959#true} #94#return; {11959#true} is VALID [2022-04-28 12:37:01,893 INFO L290 TraceCheckUtils]: 9: Hoare triple {11959#true} assume true; {11959#true} is VALID [2022-04-28 12:37:01,893 INFO L290 TraceCheckUtils]: 8: Hoare triple {11959#true} assume !(0 == ~cond); {11959#true} is VALID [2022-04-28 12:37:01,893 INFO L290 TraceCheckUtils]: 7: Hoare triple {11959#true} ~cond := #in~cond; {11959#true} is VALID [2022-04-28 12:37:01,893 INFO L272 TraceCheckUtils]: 6: Hoare triple {11959#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {11959#true} is VALID [2022-04-28 12:37:01,893 INFO L290 TraceCheckUtils]: 5: Hoare triple {11959#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; {11959#true} is VALID [2022-04-28 12:37:01,893 INFO L272 TraceCheckUtils]: 4: Hoare triple {11959#true} call #t~ret6 := main(); {11959#true} is VALID [2022-04-28 12:37:01,893 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11959#true} {11959#true} #112#return; {11959#true} is VALID [2022-04-28 12:37:01,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {11959#true} assume true; {11959#true} is VALID [2022-04-28 12:37:01,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {11959#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); {11959#true} is VALID [2022-04-28 12:37:01,893 INFO L272 TraceCheckUtils]: 0: Hoare triple {11959#true} call ULTIMATE.init(); {11959#true} is VALID [2022-04-28 12:37:01,894 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-28 12:37:01,894 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:37:01,894 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1743500036] [2022-04-28 12:37:01,894 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:37:01,894 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1886524992] [2022-04-28 12:37:01,894 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1886524992] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:37:01,894 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:37:01,894 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 12:37:01,894 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:37:01,894 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1647195725] [2022-04-28 12:37:01,895 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1647195725] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:37:01,895 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:37:01,895 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:37:01,895 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [357529355] [2022-04-28 12:37:01,895 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:37:01,895 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-28 12:37:01,895 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:37:01,895 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-28 12:37:01,929 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:37:01,930 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:37:01,930 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:37:01,930 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:37:01,930 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:37:01,930 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-28 12:37:02,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:02,923 INFO L93 Difference]: Finished difference Result 226 states and 310 transitions. [2022-04-28 12:37:02,923 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:37:02,924 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-28 12:37:02,924 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:37:02,924 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-28 12:37:02,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-28 12:37:02,925 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-28 12:37:02,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-28 12:37:02,925 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 58 transitions. [2022-04-28 12:37:02,973 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:37:02,976 INFO L225 Difference]: With dead ends: 226 [2022-04-28 12:37:02,976 INFO L226 Difference]: Without dead ends: 224 [2022-04-28 12:37:02,977 INFO L412 NwaCegarLoop]: 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-28 12:37:02,977 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 21 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 173 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:37:02,977 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 173 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:37:02,977 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-28 12:37:03,493 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 224. [2022-04-28 12:37:03,494 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:37:03,494 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-28 12:37:03,494 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-28 12:37:03,495 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-28 12:37:03,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:03,499 INFO L93 Difference]: Finished difference Result 224 states and 308 transitions. [2022-04-28 12:37:03,499 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-28 12:37:03,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:37:03,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:37:03,500 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-28 12:37:03,500 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-28 12:37:03,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:03,505 INFO L93 Difference]: Finished difference Result 224 states and 308 transitions. [2022-04-28 12:37:03,505 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-28 12:37:03,505 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:37:03,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:37:03,505 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:37:03,505 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:37:03,506 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-28 12:37:03,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 224 states to 224 states and 308 transitions. [2022-04-28 12:37:03,510 INFO L78 Accepts]: Start accepts. Automaton has 224 states and 308 transitions. Word has length 72 [2022-04-28 12:37:03,510 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:37:03,511 INFO L495 AbstractCegarLoop]: Abstraction has 224 states and 308 transitions. [2022-04-28 12:37:03,511 INFO L496 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-28 12:37:03,511 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 224 states and 308 transitions. [2022-04-28 12:37:04,048 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-28 12:37:04,049 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-28 12:37:04,049 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-28 12:37:04,049 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:37:04,050 INFO L195 NwaCegarLoop]: 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-28 12:37:04,067 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 12:37:04,250 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 12:37:04,250 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:37:04,250 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:37:04,251 INFO L85 PathProgramCache]: Analyzing trace with hash 1984914564, now seen corresponding path program 3 times [2022-04-28 12:37:04,251 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:37:04,251 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [672571453] [2022-04-28 12:37:04,251 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:37:04,251 INFO L85 PathProgramCache]: Analyzing trace with hash 1984914564, now seen corresponding path program 4 times [2022-04-28 12:37:04,251 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:37:04,251 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [789982413] [2022-04-28 12:37:04,251 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:37:04,251 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:37:04,262 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:37:04,263 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1696974293] [2022-04-28 12:37:04,263 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:37:04,263 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:37:04,263 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:37:04,264 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:37:04,264 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 12:37:04,303 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:37:04,303 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:37:04,304 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 12:37:04,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:37:04,316 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:37:04,507 INFO L272 TraceCheckUtils]: 0: Hoare triple {13754#true} call ULTIMATE.init(); {13754#true} is VALID [2022-04-28 12:37:04,507 INFO L290 TraceCheckUtils]: 1: Hoare triple {13754#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); {13754#true} is VALID [2022-04-28 12:37:04,507 INFO L290 TraceCheckUtils]: 2: Hoare triple {13754#true} assume true; {13754#true} is VALID [2022-04-28 12:37:04,507 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13754#true} {13754#true} #112#return; {13754#true} is VALID [2022-04-28 12:37:04,507 INFO L272 TraceCheckUtils]: 4: Hoare triple {13754#true} call #t~ret6 := main(); {13754#true} is VALID [2022-04-28 12:37:04,507 INFO L290 TraceCheckUtils]: 5: Hoare triple {13754#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; {13754#true} is VALID [2022-04-28 12:37:04,507 INFO L272 TraceCheckUtils]: 6: Hoare triple {13754#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {13754#true} is VALID [2022-04-28 12:37:04,507 INFO L290 TraceCheckUtils]: 7: Hoare triple {13754#true} ~cond := #in~cond; {13754#true} is VALID [2022-04-28 12:37:04,507 INFO L290 TraceCheckUtils]: 8: Hoare triple {13754#true} assume !(0 == ~cond); {13754#true} is VALID [2022-04-28 12:37:04,507 INFO L290 TraceCheckUtils]: 9: Hoare triple {13754#true} assume true; {13754#true} is VALID [2022-04-28 12:37:04,508 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13754#true} {13754#true} #94#return; {13754#true} is VALID [2022-04-28 12:37:04,508 INFO L290 TraceCheckUtils]: 11: Hoare triple {13754#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13754#true} is VALID [2022-04-28 12:37:04,508 INFO L272 TraceCheckUtils]: 12: Hoare triple {13754#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {13754#true} is VALID [2022-04-28 12:37:04,508 INFO L290 TraceCheckUtils]: 13: Hoare triple {13754#true} ~cond := #in~cond; {13754#true} is VALID [2022-04-28 12:37:04,508 INFO L290 TraceCheckUtils]: 14: Hoare triple {13754#true} assume !(0 == ~cond); {13754#true} is VALID [2022-04-28 12:37:04,508 INFO L290 TraceCheckUtils]: 15: Hoare triple {13754#true} assume true; {13754#true} is VALID [2022-04-28 12:37:04,508 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13754#true} {13754#true} #96#return; {13754#true} is VALID [2022-04-28 12:37:04,508 INFO L272 TraceCheckUtils]: 17: Hoare triple {13754#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13754#true} is VALID [2022-04-28 12:37:04,508 INFO L290 TraceCheckUtils]: 18: Hoare triple {13754#true} ~cond := #in~cond; {13754#true} is VALID [2022-04-28 12:37:04,508 INFO L290 TraceCheckUtils]: 19: Hoare triple {13754#true} assume !(0 == ~cond); {13754#true} is VALID [2022-04-28 12:37:04,508 INFO L290 TraceCheckUtils]: 20: Hoare triple {13754#true} assume true; {13754#true} is VALID [2022-04-28 12:37:04,508 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13754#true} {13754#true} #98#return; {13754#true} is VALID [2022-04-28 12:37:04,508 INFO L272 TraceCheckUtils]: 22: Hoare triple {13754#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13754#true} is VALID [2022-04-28 12:37:04,508 INFO L290 TraceCheckUtils]: 23: Hoare triple {13754#true} ~cond := #in~cond; {13754#true} is VALID [2022-04-28 12:37:04,509 INFO L290 TraceCheckUtils]: 24: Hoare triple {13754#true} assume !(0 == ~cond); {13754#true} is VALID [2022-04-28 12:37:04,509 INFO L290 TraceCheckUtils]: 25: Hoare triple {13754#true} assume true; {13754#true} is VALID [2022-04-28 12:37:04,509 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13754#true} {13754#true} #100#return; {13754#true} is VALID [2022-04-28 12:37:04,509 INFO L290 TraceCheckUtils]: 27: Hoare triple {13754#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13754#true} is VALID [2022-04-28 12:37:04,509 INFO L290 TraceCheckUtils]: 28: Hoare triple {13754#true} assume !false; {13754#true} is VALID [2022-04-28 12:37:04,509 INFO L290 TraceCheckUtils]: 29: Hoare triple {13754#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13754#true} is VALID [2022-04-28 12:37:04,509 INFO L290 TraceCheckUtils]: 30: Hoare triple {13754#true} assume !false; {13754#true} is VALID [2022-04-28 12:37:04,509 INFO L290 TraceCheckUtils]: 31: Hoare triple {13754#true} assume !(~c~0 >= ~b~0); {13754#true} is VALID [2022-04-28 12:37:04,509 INFO L290 TraceCheckUtils]: 32: Hoare triple {13754#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; {13754#true} is VALID [2022-04-28 12:37:04,509 INFO L290 TraceCheckUtils]: 33: Hoare triple {13754#true} assume !false; {13754#true} is VALID [2022-04-28 12:37:04,509 INFO L290 TraceCheckUtils]: 34: Hoare triple {13754#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13754#true} is VALID [2022-04-28 12:37:04,509 INFO L290 TraceCheckUtils]: 35: Hoare triple {13754#true} assume !false; {13754#true} is VALID [2022-04-28 12:37:04,512 INFO L290 TraceCheckUtils]: 36: Hoare triple {13754#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13867#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 12:37:04,512 INFO L290 TraceCheckUtils]: 37: Hoare triple {13867#(<= main_~v~0 main_~b~0)} assume !false; {13867#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 12:37:04,512 INFO L272 TraceCheckUtils]: 38: Hoare triple {13867#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13754#true} is VALID [2022-04-28 12:37:04,512 INFO L290 TraceCheckUtils]: 39: Hoare triple {13754#true} ~cond := #in~cond; {13754#true} is VALID [2022-04-28 12:37:04,513 INFO L290 TraceCheckUtils]: 40: Hoare triple {13754#true} assume !(0 == ~cond); {13754#true} is VALID [2022-04-28 12:37:04,513 INFO L290 TraceCheckUtils]: 41: Hoare triple {13754#true} assume true; {13754#true} is VALID [2022-04-28 12:37:04,513 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13754#true} {13867#(<= main_~v~0 main_~b~0)} #102#return; {13867#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 12:37:04,513 INFO L272 TraceCheckUtils]: 43: Hoare triple {13867#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13754#true} is VALID [2022-04-28 12:37:04,513 INFO L290 TraceCheckUtils]: 44: Hoare triple {13754#true} ~cond := #in~cond; {13754#true} is VALID [2022-04-28 12:37:04,513 INFO L290 TraceCheckUtils]: 45: Hoare triple {13754#true} assume !(0 == ~cond); {13754#true} is VALID [2022-04-28 12:37:04,513 INFO L290 TraceCheckUtils]: 46: Hoare triple {13754#true} assume true; {13754#true} is VALID [2022-04-28 12:37:04,514 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13754#true} {13867#(<= main_~v~0 main_~b~0)} #104#return; {13867#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 12:37:04,514 INFO L272 TraceCheckUtils]: 48: Hoare triple {13867#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13754#true} is VALID [2022-04-28 12:37:04,514 INFO L290 TraceCheckUtils]: 49: Hoare triple {13754#true} ~cond := #in~cond; {13754#true} is VALID [2022-04-28 12:37:04,514 INFO L290 TraceCheckUtils]: 50: Hoare triple {13754#true} assume !(0 == ~cond); {13754#true} is VALID [2022-04-28 12:37:04,514 INFO L290 TraceCheckUtils]: 51: Hoare triple {13754#true} assume true; {13754#true} is VALID [2022-04-28 12:37:04,515 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13754#true} {13867#(<= main_~v~0 main_~b~0)} #106#return; {13867#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 12:37:04,515 INFO L272 TraceCheckUtils]: 53: Hoare triple {13867#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13754#true} is VALID [2022-04-28 12:37:04,515 INFO L290 TraceCheckUtils]: 54: Hoare triple {13754#true} ~cond := #in~cond; {13754#true} is VALID [2022-04-28 12:37:04,515 INFO L290 TraceCheckUtils]: 55: Hoare triple {13754#true} assume !(0 == ~cond); {13754#true} is VALID [2022-04-28 12:37:04,515 INFO L290 TraceCheckUtils]: 56: Hoare triple {13754#true} assume true; {13754#true} is VALID [2022-04-28 12:37:04,515 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {13754#true} {13867#(<= main_~v~0 main_~b~0)} #108#return; {13867#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 12:37:04,516 INFO L290 TraceCheckUtils]: 58: Hoare triple {13867#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {13934#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 12:37:04,516 INFO L290 TraceCheckUtils]: 59: Hoare triple {13934#(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; {13938#(< main_~c~0 main_~b~0)} is VALID [2022-04-28 12:37:04,517 INFO L290 TraceCheckUtils]: 60: Hoare triple {13938#(< main_~c~0 main_~b~0)} assume !false; {13938#(< main_~c~0 main_~b~0)} is VALID [2022-04-28 12:37:04,517 INFO L290 TraceCheckUtils]: 61: Hoare triple {13938#(< main_~c~0 main_~b~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13755#false} is VALID [2022-04-28 12:37:04,517 INFO L290 TraceCheckUtils]: 62: Hoare triple {13755#false} assume !false; {13755#false} is VALID [2022-04-28 12:37:04,517 INFO L272 TraceCheckUtils]: 63: Hoare triple {13755#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13755#false} is VALID [2022-04-28 12:37:04,517 INFO L290 TraceCheckUtils]: 64: Hoare triple {13755#false} ~cond := #in~cond; {13755#false} is VALID [2022-04-28 12:37:04,517 INFO L290 TraceCheckUtils]: 65: Hoare triple {13755#false} assume !(0 == ~cond); {13755#false} is VALID [2022-04-28 12:37:04,517 INFO L290 TraceCheckUtils]: 66: Hoare triple {13755#false} assume true; {13755#false} is VALID [2022-04-28 12:37:04,517 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13755#false} {13755#false} #102#return; {13755#false} is VALID [2022-04-28 12:37:04,518 INFO L272 TraceCheckUtils]: 68: Hoare triple {13755#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13755#false} is VALID [2022-04-28 12:37:04,518 INFO L290 TraceCheckUtils]: 69: Hoare triple {13755#false} ~cond := #in~cond; {13755#false} is VALID [2022-04-28 12:37:04,518 INFO L290 TraceCheckUtils]: 70: Hoare triple {13755#false} assume !(0 == ~cond); {13755#false} is VALID [2022-04-28 12:37:04,518 INFO L290 TraceCheckUtils]: 71: Hoare triple {13755#false} assume true; {13755#false} is VALID [2022-04-28 12:37:04,518 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {13755#false} {13755#false} #104#return; {13755#false} is VALID [2022-04-28 12:37:04,518 INFO L272 TraceCheckUtils]: 73: Hoare triple {13755#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13755#false} is VALID [2022-04-28 12:37:04,518 INFO L290 TraceCheckUtils]: 74: Hoare triple {13755#false} ~cond := #in~cond; {13755#false} is VALID [2022-04-28 12:37:04,518 INFO L290 TraceCheckUtils]: 75: Hoare triple {13755#false} assume 0 == ~cond; {13755#false} is VALID [2022-04-28 12:37:04,518 INFO L290 TraceCheckUtils]: 76: Hoare triple {13755#false} assume !false; {13755#false} is VALID [2022-04-28 12:37:04,518 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-28 12:37:04,518 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:37:04,519 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:37:04,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [789982413] [2022-04-28 12:37:04,519 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:37:04,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1696974293] [2022-04-28 12:37:04,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1696974293] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:37:04,519 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:37:04,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:37:04,519 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:37:04,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [672571453] [2022-04-28 12:37:04,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [672571453] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:37:04,519 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:37:04,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:37:04,519 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1875167290] [2022-04-28 12:37:04,519 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:37:04,520 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-28 12:37:04,520 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:37:04,520 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-28 12:37:04,553 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-28 12:37:04,553 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:37:04,553 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:37:04,553 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:37:04,553 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:37:04,553 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-28 12:37:05,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:05,274 INFO L93 Difference]: Finished difference Result 367 states and 500 transitions. [2022-04-28 12:37:05,274 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:37:05,274 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-28 12:37:05,274 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:37:05,274 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-28 12:37:05,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2022-04-28 12:37:05,275 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-28 12:37:05,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2022-04-28 12:37:05,276 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 85 transitions. [2022-04-28 12:37:05,328 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-28 12:37:05,332 INFO L225 Difference]: With dead ends: 367 [2022-04-28 12:37:05,332 INFO L226 Difference]: Without dead ends: 230 [2022-04-28 12:37:05,332 INFO L412 NwaCegarLoop]: 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-28 12:37:05,333 INFO L413 NwaCegarLoop]: 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-28 12:37:05,333 INFO L414 NwaCegarLoop]: 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-28 12:37:05,333 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-28 12:37:05,843 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 214. [2022-04-28 12:37:05,844 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:37:05,844 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-28 12:37:05,844 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-28 12:37:05,845 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-28 12:37:05,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:05,849 INFO L93 Difference]: Finished difference Result 230 states and 305 transitions. [2022-04-28 12:37:05,849 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 305 transitions. [2022-04-28 12:37:05,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:37:05,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:37:05,850 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-28 12:37:05,850 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-28 12:37:05,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:05,854 INFO L93 Difference]: Finished difference Result 230 states and 305 transitions. [2022-04-28 12:37:05,854 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 305 transitions. [2022-04-28 12:37:05,854 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:37:05,854 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:37:05,854 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:37:05,854 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:37:05,855 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-28 12:37:05,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 214 states to 214 states and 289 transitions. [2022-04-28 12:37:05,859 INFO L78 Accepts]: Start accepts. Automaton has 214 states and 289 transitions. Word has length 77 [2022-04-28 12:37:05,860 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:37:05,860 INFO L495 AbstractCegarLoop]: Abstraction has 214 states and 289 transitions. [2022-04-28 12:37:05,864 INFO L496 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-28 12:37:05,864 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 214 states and 289 transitions. [2022-04-28 12:37:06,368 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-28 12:37:06,369 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 289 transitions. [2022-04-28 12:37:06,374 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-28 12:37:06,374 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:37:06,374 INFO L195 NwaCegarLoop]: 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-28 12:37:06,391 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 12:37:06,579 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 12:37:06,579 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:37:06,580 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:37:06,580 INFO L85 PathProgramCache]: Analyzing trace with hash -867272991, now seen corresponding path program 5 times [2022-04-28 12:37:06,580 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:37:06,580 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [328261197] [2022-04-28 12:37:06,580 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:37:06,580 INFO L85 PathProgramCache]: Analyzing trace with hash -867272991, now seen corresponding path program 6 times [2022-04-28 12:37:06,580 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:37:06,580 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [774553897] [2022-04-28 12:37:06,581 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:37:06,581 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:37:06,591 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:37:06,591 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [9178097] [2022-04-28 12:37:06,591 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:37:06,591 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:37:06,591 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:37:06,592 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:37:06,593 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 12:37:06,635 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:37:06,635 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:37:06,636 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 65 conjunts are in the unsatisfiable core [2022-04-28 12:37:06,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:37:06,650 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:37:07,722 INFO L272 TraceCheckUtils]: 0: Hoare triple {15614#true} call ULTIMATE.init(); {15614#true} is VALID [2022-04-28 12:37:07,722 INFO L290 TraceCheckUtils]: 1: Hoare triple {15614#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); {15614#true} is VALID [2022-04-28 12:37:07,722 INFO L290 TraceCheckUtils]: 2: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:07,722 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15614#true} {15614#true} #112#return; {15614#true} is VALID [2022-04-28 12:37:07,723 INFO L272 TraceCheckUtils]: 4: Hoare triple {15614#true} call #t~ret6 := main(); {15614#true} is VALID [2022-04-28 12:37:07,723 INFO L290 TraceCheckUtils]: 5: Hoare triple {15614#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; {15614#true} is VALID [2022-04-28 12:37:07,723 INFO L272 TraceCheckUtils]: 6: Hoare triple {15614#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {15614#true} is VALID [2022-04-28 12:37:07,723 INFO L290 TraceCheckUtils]: 7: Hoare triple {15614#true} ~cond := #in~cond; {15614#true} is VALID [2022-04-28 12:37:07,723 INFO L290 TraceCheckUtils]: 8: Hoare triple {15614#true} assume !(0 == ~cond); {15614#true} is VALID [2022-04-28 12:37:07,723 INFO L290 TraceCheckUtils]: 9: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:07,723 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15614#true} {15614#true} #94#return; {15614#true} is VALID [2022-04-28 12:37:07,723 INFO L290 TraceCheckUtils]: 11: Hoare triple {15614#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15614#true} is VALID [2022-04-28 12:37:07,723 INFO L272 TraceCheckUtils]: 12: Hoare triple {15614#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {15614#true} is VALID [2022-04-28 12:37:07,723 INFO L290 TraceCheckUtils]: 13: Hoare triple {15614#true} ~cond := #in~cond; {15614#true} is VALID [2022-04-28 12:37:07,723 INFO L290 TraceCheckUtils]: 14: Hoare triple {15614#true} assume !(0 == ~cond); {15614#true} is VALID [2022-04-28 12:37:07,723 INFO L290 TraceCheckUtils]: 15: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:07,723 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15614#true} {15614#true} #96#return; {15614#true} is VALID [2022-04-28 12:37:07,723 INFO L272 TraceCheckUtils]: 17: Hoare triple {15614#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15614#true} is VALID [2022-04-28 12:37:07,724 INFO L290 TraceCheckUtils]: 18: Hoare triple {15614#true} ~cond := #in~cond; {15614#true} is VALID [2022-04-28 12:37:07,724 INFO L290 TraceCheckUtils]: 19: Hoare triple {15614#true} assume !(0 == ~cond); {15614#true} is VALID [2022-04-28 12:37:07,724 INFO L290 TraceCheckUtils]: 20: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:07,724 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15614#true} {15614#true} #98#return; {15614#true} is VALID [2022-04-28 12:37:07,724 INFO L272 TraceCheckUtils]: 22: Hoare triple {15614#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15614#true} is VALID [2022-04-28 12:37:07,724 INFO L290 TraceCheckUtils]: 23: Hoare triple {15614#true} ~cond := #in~cond; {15614#true} is VALID [2022-04-28 12:37:07,724 INFO L290 TraceCheckUtils]: 24: Hoare triple {15614#true} assume !(0 == ~cond); {15614#true} is VALID [2022-04-28 12:37:07,724 INFO L290 TraceCheckUtils]: 25: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:07,724 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15614#true} {15614#true} #100#return; {15614#true} is VALID [2022-04-28 12:37:07,727 INFO L290 TraceCheckUtils]: 27: Hoare triple {15614#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15700#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:37:07,728 INFO L290 TraceCheckUtils]: 28: Hoare triple {15700#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {15700#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:37:07,728 INFO L290 TraceCheckUtils]: 29: Hoare triple {15700#(and (= main_~r~0 0) (<= 1 main_~p~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; {15707#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~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-28 12:37:07,729 INFO L290 TraceCheckUtils]: 30: Hoare triple {15707#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {15707#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~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-28 12:37:07,729 INFO L290 TraceCheckUtils]: 31: Hoare triple {15707#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~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); {15707#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~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-28 12:37:07,730 INFO L290 TraceCheckUtils]: 32: Hoare triple {15707#(and (= main_~r~0 0) (= main_~k~0 0) (<= 1 main_~p~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; {15717#(and (= main_~s~0 0) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:37:07,730 INFO L290 TraceCheckUtils]: 33: Hoare triple {15717#(and (= main_~s~0 0) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {15717#(and (= main_~s~0 0) (= main_~p~0 0) (<= 1 main_~q~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:37:07,731 INFO L290 TraceCheckUtils]: 34: Hoare triple {15717#(and (= main_~s~0 0) (= main_~p~0 0) (<= 1 main_~q~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; {15724#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:37:07,731 INFO L290 TraceCheckUtils]: 35: Hoare triple {15724#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} assume !false; {15724#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:37:07,731 INFO L290 TraceCheckUtils]: 36: Hoare triple {15724#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~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; {15731#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~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-28 12:37:07,732 INFO L290 TraceCheckUtils]: 37: Hoare triple {15731#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !false; {15731#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~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-28 12:37:07,732 INFO L272 TraceCheckUtils]: 38: Hoare triple {15731#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~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)); {15614#true} is VALID [2022-04-28 12:37:07,732 INFO L290 TraceCheckUtils]: 39: Hoare triple {15614#true} ~cond := #in~cond; {15614#true} is VALID [2022-04-28 12:37:07,732 INFO L290 TraceCheckUtils]: 40: Hoare triple {15614#true} assume !(0 == ~cond); {15614#true} is VALID [2022-04-28 12:37:07,732 INFO L290 TraceCheckUtils]: 41: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:07,733 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15614#true} {15731#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #102#return; {15731#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~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-28 12:37:07,733 INFO L272 TraceCheckUtils]: 43: Hoare triple {15731#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~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)); {15614#true} is VALID [2022-04-28 12:37:07,733 INFO L290 TraceCheckUtils]: 44: Hoare triple {15614#true} ~cond := #in~cond; {15756#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:37:07,733 INFO L290 TraceCheckUtils]: 45: Hoare triple {15756#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15760#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:07,734 INFO L290 TraceCheckUtils]: 46: Hoare triple {15760#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15760#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:07,735 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15760#(not (= |__VERIFIER_assert_#in~cond| 0))} {15731#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #104#return; {15767#(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) (<= 1 main_~q~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-28 12:37:07,735 INFO L272 TraceCheckUtils]: 48: Hoare triple {15767#(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) (<= 1 main_~q~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)); {15614#true} is VALID [2022-04-28 12:37:07,735 INFO L290 TraceCheckUtils]: 49: Hoare triple {15614#true} ~cond := #in~cond; {15614#true} is VALID [2022-04-28 12:37:07,735 INFO L290 TraceCheckUtils]: 50: Hoare triple {15614#true} assume !(0 == ~cond); {15614#true} is VALID [2022-04-28 12:37:07,735 INFO L290 TraceCheckUtils]: 51: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:07,736 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15614#true} {15767#(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) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #106#return; {15767#(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) (<= 1 main_~q~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-28 12:37:07,736 INFO L272 TraceCheckUtils]: 53: Hoare triple {15767#(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) (<= 1 main_~q~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)); {15614#true} is VALID [2022-04-28 12:37:07,736 INFO L290 TraceCheckUtils]: 54: Hoare triple {15614#true} ~cond := #in~cond; {15614#true} is VALID [2022-04-28 12:37:07,736 INFO L290 TraceCheckUtils]: 55: Hoare triple {15614#true} assume !(0 == ~cond); {15614#true} is VALID [2022-04-28 12:37:07,736 INFO L290 TraceCheckUtils]: 56: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:07,737 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {15614#true} {15767#(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) (<= 1 main_~q~0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #108#return; {15767#(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) (<= 1 main_~q~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-28 12:37:07,737 INFO L290 TraceCheckUtils]: 58: Hoare triple {15767#(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) (<= 1 main_~q~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); {15767#(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) (<= 1 main_~q~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-28 12:37:07,739 INFO L290 TraceCheckUtils]: 59: Hoare triple {15767#(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) (<= 1 main_~q~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; {15804#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~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-28 12:37:07,739 INFO L290 TraceCheckUtils]: 60: Hoare triple {15804#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~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; {15804#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~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-28 12:37:07,740 INFO L290 TraceCheckUtils]: 61: Hoare triple {15804#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~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); {15804#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~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-28 12:37:07,741 INFO L290 TraceCheckUtils]: 62: Hoare triple {15804#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (<= 1 main_~q~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; {15814#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~a~0 (* main_~x~0 (* (- 1) main_~q~0))) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:37:07,742 INFO L290 TraceCheckUtils]: 63: Hoare triple {15814#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~a~0 (* main_~x~0 (* (- 1) main_~q~0))) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0 (* (- 1) main_~q~0)))))} assume !false; {15814#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~a~0 (* main_~x~0 (* (- 1) main_~q~0))) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 12:37:07,742 INFO L290 TraceCheckUtils]: 64: Hoare triple {15814#(and (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))) (<= (+ main_~q~0 1) 0) (= main_~a~0 (* main_~x~0 (* (- 1) main_~q~0))) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0 (* (- 1) main_~q~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15821#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (<= (+ main_~q~0 1) 0) (= (+ (* main_~q~0 main_~x~0) main_~x~0) 0))} is VALID [2022-04-28 12:37:07,743 INFO L290 TraceCheckUtils]: 65: Hoare triple {15821#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (<= (+ main_~q~0 1) 0) (= (+ (* main_~q~0 main_~x~0) main_~x~0) 0))} assume !false; {15821#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (<= (+ main_~q~0 1) 0) (= (+ (* main_~q~0 main_~x~0) main_~x~0) 0))} is VALID [2022-04-28 12:37:07,743 INFO L290 TraceCheckUtils]: 66: Hoare triple {15821#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (<= (+ main_~q~0 1) 0) (= (+ (* main_~q~0 main_~x~0) main_~x~0) 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15821#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (<= (+ main_~q~0 1) 0) (= (+ (* main_~q~0 main_~x~0) main_~x~0) 0))} is VALID [2022-04-28 12:37:07,743 INFO L290 TraceCheckUtils]: 67: Hoare triple {15821#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (<= (+ main_~q~0 1) 0) (= (+ (* main_~q~0 main_~x~0) main_~x~0) 0))} assume !false; {15821#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (<= (+ main_~q~0 1) 0) (= (+ (* main_~q~0 main_~x~0) main_~x~0) 0))} is VALID [2022-04-28 12:37:07,744 INFO L272 TraceCheckUtils]: 68: Hoare triple {15821#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (<= (+ main_~q~0 1) 0) (= (+ (* main_~q~0 main_~x~0) main_~x~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15614#true} is VALID [2022-04-28 12:37:07,744 INFO L290 TraceCheckUtils]: 69: Hoare triple {15614#true} ~cond := #in~cond; {15614#true} is VALID [2022-04-28 12:37:07,744 INFO L290 TraceCheckUtils]: 70: Hoare triple {15614#true} assume !(0 == ~cond); {15614#true} is VALID [2022-04-28 12:37:07,744 INFO L290 TraceCheckUtils]: 71: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:07,744 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15614#true} {15821#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (<= (+ main_~q~0 1) 0) (= (+ (* main_~q~0 main_~x~0) main_~x~0) 0))} #102#return; {15821#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (<= (+ main_~q~0 1) 0) (= (+ (* main_~q~0 main_~x~0) main_~x~0) 0))} is VALID [2022-04-28 12:37:07,745 INFO L272 TraceCheckUtils]: 73: Hoare triple {15821#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (<= (+ main_~q~0 1) 0) (= (+ (* main_~q~0 main_~x~0) main_~x~0) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15849#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:37:07,745 INFO L290 TraceCheckUtils]: 74: Hoare triple {15849#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15853#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:37:07,746 INFO L290 TraceCheckUtils]: 75: Hoare triple {15853#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15615#false} is VALID [2022-04-28 12:37:07,746 INFO L290 TraceCheckUtils]: 76: Hoare triple {15615#false} assume !false; {15615#false} is VALID [2022-04-28 12:37:07,746 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 12 proven. 32 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 12:37:07,746 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:37:29,875 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:37:29,967 INFO L290 TraceCheckUtils]: 76: Hoare triple {15615#false} assume !false; {15615#false} is VALID [2022-04-28 12:37:29,967 INFO L290 TraceCheckUtils]: 75: Hoare triple {15853#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15615#false} is VALID [2022-04-28 12:37:29,968 INFO L290 TraceCheckUtils]: 74: Hoare triple {15849#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15853#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:37:29,969 INFO L272 TraceCheckUtils]: 73: Hoare triple {15869#(= 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)); {15849#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:37:29,970 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15614#true} {15869#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {15869#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:37:29,970 INFO L290 TraceCheckUtils]: 71: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:29,970 INFO L290 TraceCheckUtils]: 70: Hoare triple {15614#true} assume !(0 == ~cond); {15614#true} is VALID [2022-04-28 12:37:29,970 INFO L290 TraceCheckUtils]: 69: Hoare triple {15614#true} ~cond := #in~cond; {15614#true} is VALID [2022-04-28 12:37:29,970 INFO L272 TraceCheckUtils]: 68: Hoare triple {15869#(= 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)); {15614#true} is VALID [2022-04-28 12:37:29,970 INFO L290 TraceCheckUtils]: 67: Hoare triple {15869#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {15869#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:37:29,971 INFO L290 TraceCheckUtils]: 66: Hoare triple {15869#(= 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; {15869#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:37:29,971 INFO L290 TraceCheckUtils]: 65: Hoare triple {15869#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {15869#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:37:29,971 INFO L290 TraceCheckUtils]: 64: Hoare triple {15869#(= 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; {15869#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:37:29,972 INFO L290 TraceCheckUtils]: 63: Hoare triple {15869#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {15869#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:37:31,973 WARN L290 TraceCheckUtils]: 62: Hoare triple {15903#(= (+ (* 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; {15869#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-28 12:37:31,974 INFO L290 TraceCheckUtils]: 61: Hoare triple {15903#(= (+ (* 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); {15903#(= (+ (* 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-28 12:37:31,974 INFO L290 TraceCheckUtils]: 60: Hoare triple {15903#(= (+ (* 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; {15903#(= (+ (* 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-28 12:37:32,408 INFO L290 TraceCheckUtils]: 59: Hoare triple {15913#(= (+ 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; {15903#(= (+ (* 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-28 12:37:32,408 INFO L290 TraceCheckUtils]: 58: Hoare triple {15913#(= (+ 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); {15913#(= (+ 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-28 12:37:32,409 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {15614#true} {15913#(= (+ 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; {15913#(= (+ 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-28 12:37:32,409 INFO L290 TraceCheckUtils]: 56: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:32,409 INFO L290 TraceCheckUtils]: 55: Hoare triple {15614#true} assume !(0 == ~cond); {15614#true} is VALID [2022-04-28 12:37:32,409 INFO L290 TraceCheckUtils]: 54: Hoare triple {15614#true} ~cond := #in~cond; {15614#true} is VALID [2022-04-28 12:37:32,409 INFO L272 TraceCheckUtils]: 53: Hoare triple {15913#(= (+ 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)); {15614#true} is VALID [2022-04-28 12:37:32,410 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15614#true} {15913#(= (+ 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; {15913#(= (+ 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-28 12:37:32,410 INFO L290 TraceCheckUtils]: 51: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:32,410 INFO L290 TraceCheckUtils]: 50: Hoare triple {15614#true} assume !(0 == ~cond); {15614#true} is VALID [2022-04-28 12:37:32,410 INFO L290 TraceCheckUtils]: 49: Hoare triple {15614#true} ~cond := #in~cond; {15614#true} is VALID [2022-04-28 12:37:32,410 INFO L272 TraceCheckUtils]: 48: Hoare triple {15913#(= (+ 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)); {15614#true} is VALID [2022-04-28 12:37:32,411 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15760#(not (= |__VERIFIER_assert_#in~cond| 0))} {15950#(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; {15913#(= (+ 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-28 12:37:32,411 INFO L290 TraceCheckUtils]: 46: Hoare triple {15760#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15760#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:32,412 INFO L290 TraceCheckUtils]: 45: Hoare triple {15960#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15760#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:32,412 INFO L290 TraceCheckUtils]: 44: Hoare triple {15614#true} ~cond := #in~cond; {15960#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:37:32,412 INFO L272 TraceCheckUtils]: 43: Hoare triple {15950#(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)); {15614#true} is VALID [2022-04-28 12:37:32,413 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15614#true} {15950#(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)))))} #102#return; {15950#(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-28 12:37:32,413 INFO L290 TraceCheckUtils]: 41: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:32,413 INFO L290 TraceCheckUtils]: 40: Hoare triple {15614#true} assume !(0 == ~cond); {15614#true} is VALID [2022-04-28 12:37:32,413 INFO L290 TraceCheckUtils]: 39: Hoare triple {15614#true} ~cond := #in~cond; {15614#true} is VALID [2022-04-28 12:37:32,413 INFO L272 TraceCheckUtils]: 38: Hoare triple {15950#(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 ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15614#true} is VALID [2022-04-28 12:37:32,414 INFO L290 TraceCheckUtils]: 37: Hoare triple {15950#(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)))))} assume !false; {15950#(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-28 12:37:32,414 INFO L290 TraceCheckUtils]: 36: Hoare triple {15985#(or (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; {15950#(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-28 12:37:32,415 INFO L290 TraceCheckUtils]: 35: Hoare triple {15985#(or (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; {15985#(or (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-28 12:37:32,415 INFO L290 TraceCheckUtils]: 34: Hoare triple {15992#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~a~0 (* (- 1) main_~b~0) (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* 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; {15985#(or (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-28 12:37:32,416 INFO L290 TraceCheckUtils]: 33: Hoare triple {15992#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~a~0 (* (- 1) main_~b~0) (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {15992#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~a~0 (* (- 1) main_~b~0) (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:37:32,914 INFO L290 TraceCheckUtils]: 32: Hoare triple {15999#(or (not (= (+ (* (+ (* (* 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)) (= (+ (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~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; {15992#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~a~0 (* (- 1) main_~b~0) (* main_~q~0 main_~x~0 1) (* main_~y~0 main_~s~0 1)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:37:32,919 INFO L290 TraceCheckUtils]: 31: Hoare triple {15999#(or (not (= (+ (* (+ (* (* 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)) (= (+ (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {15999#(or (not (= (+ (* (+ (* (* 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)) (= (+ (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:37:32,920 INFO L290 TraceCheckUtils]: 30: Hoare triple {15999#(or (not (= (+ (* (+ (* (* 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)) (= (+ (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {15999#(or (not (= (+ (* (+ (* (* 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)) (= (+ (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:37:32,920 INFO L290 TraceCheckUtils]: 29: Hoare triple {16009#(or (= (+ (* main_~y~0 main_~r~0 1) (* main_~p~0 main_~x~0 1) main_~b~0 (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~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; {15999#(or (not (= (+ (* (+ (* (* 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)) (= (+ (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0 1) (* (- 1) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0 1) main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:37:32,921 INFO L290 TraceCheckUtils]: 28: Hoare triple {16009#(or (= (+ (* main_~y~0 main_~r~0 1) (* main_~p~0 main_~x~0 1) main_~b~0 (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~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; {16009#(or (= (+ (* main_~y~0 main_~r~0 1) (* main_~p~0 main_~x~0 1) main_~b~0 (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:37:32,921 INFO L290 TraceCheckUtils]: 27: Hoare triple {15614#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16009#(or (= (+ (* main_~y~0 main_~r~0 1) (* main_~p~0 main_~x~0 1) main_~b~0 (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 12:37:32,922 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15614#true} {15614#true} #100#return; {15614#true} is VALID [2022-04-28 12:37:32,922 INFO L290 TraceCheckUtils]: 25: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:32,922 INFO L290 TraceCheckUtils]: 24: Hoare triple {15614#true} assume !(0 == ~cond); {15614#true} is VALID [2022-04-28 12:37:32,922 INFO L290 TraceCheckUtils]: 23: Hoare triple {15614#true} ~cond := #in~cond; {15614#true} is VALID [2022-04-28 12:37:32,922 INFO L272 TraceCheckUtils]: 22: Hoare triple {15614#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15614#true} is VALID [2022-04-28 12:37:32,922 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15614#true} {15614#true} #98#return; {15614#true} is VALID [2022-04-28 12:37:32,922 INFO L290 TraceCheckUtils]: 20: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:32,922 INFO L290 TraceCheckUtils]: 19: Hoare triple {15614#true} assume !(0 == ~cond); {15614#true} is VALID [2022-04-28 12:37:32,922 INFO L290 TraceCheckUtils]: 18: Hoare triple {15614#true} ~cond := #in~cond; {15614#true} is VALID [2022-04-28 12:37:32,922 INFO L272 TraceCheckUtils]: 17: Hoare triple {15614#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15614#true} is VALID [2022-04-28 12:37:32,922 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15614#true} {15614#true} #96#return; {15614#true} is VALID [2022-04-28 12:37:32,922 INFO L290 TraceCheckUtils]: 15: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:32,922 INFO L290 TraceCheckUtils]: 14: Hoare triple {15614#true} assume !(0 == ~cond); {15614#true} is VALID [2022-04-28 12:37:32,923 INFO L290 TraceCheckUtils]: 13: Hoare triple {15614#true} ~cond := #in~cond; {15614#true} is VALID [2022-04-28 12:37:32,923 INFO L272 TraceCheckUtils]: 12: Hoare triple {15614#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {15614#true} is VALID [2022-04-28 12:37:32,923 INFO L290 TraceCheckUtils]: 11: Hoare triple {15614#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15614#true} is VALID [2022-04-28 12:37:32,923 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15614#true} {15614#true} #94#return; {15614#true} is VALID [2022-04-28 12:37:32,923 INFO L290 TraceCheckUtils]: 9: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:32,923 INFO L290 TraceCheckUtils]: 8: Hoare triple {15614#true} assume !(0 == ~cond); {15614#true} is VALID [2022-04-28 12:37:32,923 INFO L290 TraceCheckUtils]: 7: Hoare triple {15614#true} ~cond := #in~cond; {15614#true} is VALID [2022-04-28 12:37:32,923 INFO L272 TraceCheckUtils]: 6: Hoare triple {15614#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {15614#true} is VALID [2022-04-28 12:37:32,923 INFO L290 TraceCheckUtils]: 5: Hoare triple {15614#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; {15614#true} is VALID [2022-04-28 12:37:32,923 INFO L272 TraceCheckUtils]: 4: Hoare triple {15614#true} call #t~ret6 := main(); {15614#true} is VALID [2022-04-28 12:37:32,923 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15614#true} {15614#true} #112#return; {15614#true} is VALID [2022-04-28 12:37:32,923 INFO L290 TraceCheckUtils]: 2: Hoare triple {15614#true} assume true; {15614#true} is VALID [2022-04-28 12:37:32,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {15614#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); {15614#true} is VALID [2022-04-28 12:37:32,923 INFO L272 TraceCheckUtils]: 0: Hoare triple {15614#true} call ULTIMATE.init(); {15614#true} is VALID [2022-04-28 12:37:32,924 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 18 proven. 26 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 12:37:32,924 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:37:32,924 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [774553897] [2022-04-28 12:37:32,924 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:37:32,924 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [9178097] [2022-04-28 12:37:32,924 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [9178097] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:37:32,924 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:37:32,924 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14] total 24 [2022-04-28 12:37:32,925 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:37:32,925 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [328261197] [2022-04-28 12:37:32,925 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [328261197] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:37:32,925 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:37:32,925 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 12:37:32,925 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [724949760] [2022-04-28 12:37:32,925 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:37:32,925 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 77 [2022-04-28 12:37:32,925 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:37:32,926 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:37:32,975 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:37:32,975 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 12:37:32,975 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:37:32,975 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 12:37:32,975 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=465, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:37:32,976 INFO L87 Difference]: Start difference. First operand 214 states and 289 transitions. Second operand has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:37:35,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:35,647 INFO L93 Difference]: Finished difference Result 285 states and 377 transitions. [2022-04-28 12:37:35,647 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 12:37:35,647 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 77 [2022-04-28 12:37:35,647 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:37:35,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:37:35,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 148 transitions. [2022-04-28 12:37:35,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:37:35,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 148 transitions. [2022-04-28 12:37:35,650 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 148 transitions. [2022-04-28 12:37:35,807 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-28 12:37:35,812 INFO L225 Difference]: With dead ends: 285 [2022-04-28 12:37:35,812 INFO L226 Difference]: Without dead ends: 283 [2022-04-28 12:37:35,813 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 130 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 117 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=150, Invalid=780, Unknown=0, NotChecked=0, Total=930 [2022-04-28 12:37:35,813 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 64 mSDsluCounter, 291 mSDsCounter, 0 mSdLazyCounter, 679 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 76 SdHoareTripleChecker+Valid, 341 SdHoareTripleChecker+Invalid, 725 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 679 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 12:37:35,813 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [76 Valid, 341 Invalid, 725 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 679 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 12:37:35,814 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 283 states. [2022-04-28 12:37:36,548 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 283 to 265. [2022-04-28 12:37:36,548 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:37:36,551 INFO L82 GeneralOperation]: Start isEquivalent. First operand 283 states. Second operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) [2022-04-28 12:37:36,552 INFO L74 IsIncluded]: Start isIncluded. First operand 283 states. Second operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) [2022-04-28 12:37:36,552 INFO L87 Difference]: Start difference. First operand 283 states. Second operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) [2022-04-28 12:37:36,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:36,557 INFO L93 Difference]: Finished difference Result 283 states and 375 transitions. [2022-04-28 12:37:36,557 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 375 transitions. [2022-04-28 12:37:36,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:37:36,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:37:36,558 INFO L74 IsIncluded]: Start isIncluded. First operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) Second operand 283 states. [2022-04-28 12:37:36,558 INFO L87 Difference]: Start difference. First operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) Second operand 283 states. [2022-04-28 12:37:36,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:37:36,563 INFO L93 Difference]: Finished difference Result 283 states and 375 transitions. [2022-04-28 12:37:36,563 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 375 transitions. [2022-04-28 12:37:36,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:37:36,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:37:36,564 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:37:36,564 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:37:36,564 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 265 states, 157 states have (on average 1.178343949044586) internal successors, (185), 158 states have internal predecessors, (185), 87 states have call successors, (87), 21 states have call predecessors, (87), 20 states have return successors, (85), 85 states have call predecessors, (85), 85 states have call successors, (85) [2022-04-28 12:37:36,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 265 states to 265 states and 357 transitions. [2022-04-28 12:37:36,569 INFO L78 Accepts]: Start accepts. Automaton has 265 states and 357 transitions. Word has length 77 [2022-04-28 12:37:36,570 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:37:36,570 INFO L495 AbstractCegarLoop]: Abstraction has 265 states and 357 transitions. [2022-04-28 12:37:36,570 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.466666666666667) internal successors, (37), 14 states have internal predecessors, (37), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:37:36,570 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 265 states and 357 transitions. [2022-04-28 12:37:37,226 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 357 edges. 357 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:37:37,226 INFO L276 IsEmpty]: Start isEmpty. Operand 265 states and 357 transitions. [2022-04-28 12:37:37,227 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 12:37:37,227 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:37:37,228 INFO L195 NwaCegarLoop]: 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-28 12:37:37,246 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 12:37:37,445 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 12:37:37,446 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:37:37,446 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:37:37,446 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 1 times [2022-04-28 12:37:37,446 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:37:37,446 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [827177570] [2022-04-28 12:37:37,447 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:37:37,447 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 2 times [2022-04-28 12:37:37,447 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:37:37,447 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [56531217] [2022-04-28 12:37:37,447 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:37:37,447 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:37:37,456 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:37:37,456 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [78156281] [2022-04-28 12:37:37,456 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:37:37,456 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:37:37,457 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:37:37,457 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:37:37,458 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 12:37:37,505 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:37:37,505 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:37:37,506 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 59 conjunts are in the unsatisfiable core [2022-04-28 12:37:37,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:37:37,520 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:37:38,337 INFO L272 TraceCheckUtils]: 0: Hoare triple {17779#true} call ULTIMATE.init(); {17779#true} is VALID [2022-04-28 12:37:38,337 INFO L290 TraceCheckUtils]: 1: Hoare triple {17779#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); {17779#true} is VALID [2022-04-28 12:37:38,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:37:38,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17779#true} {17779#true} #112#return; {17779#true} is VALID [2022-04-28 12:37:38,337 INFO L272 TraceCheckUtils]: 4: Hoare triple {17779#true} call #t~ret6 := main(); {17779#true} is VALID [2022-04-28 12:37:38,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {17779#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; {17779#true} is VALID [2022-04-28 12:37:38,337 INFO L272 TraceCheckUtils]: 6: Hoare triple {17779#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {17779#true} is VALID [2022-04-28 12:37:38,338 INFO L290 TraceCheckUtils]: 7: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:37:38,338 INFO L290 TraceCheckUtils]: 8: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:37:38,338 INFO L290 TraceCheckUtils]: 9: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:37:38,338 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17779#true} {17779#true} #94#return; {17779#true} is VALID [2022-04-28 12:37:38,338 INFO L290 TraceCheckUtils]: 11: Hoare triple {17779#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17779#true} is VALID [2022-04-28 12:37:38,338 INFO L272 TraceCheckUtils]: 12: Hoare triple {17779#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {17779#true} is VALID [2022-04-28 12:37:38,338 INFO L290 TraceCheckUtils]: 13: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:37:38,338 INFO L290 TraceCheckUtils]: 14: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:37:38,338 INFO L290 TraceCheckUtils]: 15: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:37:38,338 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17779#true} {17779#true} #96#return; {17779#true} is VALID [2022-04-28 12:37:38,338 INFO L272 TraceCheckUtils]: 17: Hoare triple {17779#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17779#true} is VALID [2022-04-28 12:37:38,338 INFO L290 TraceCheckUtils]: 18: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:37:38,338 INFO L290 TraceCheckUtils]: 19: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:37:38,338 INFO L290 TraceCheckUtils]: 20: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:37:38,339 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17779#true} {17779#true} #98#return; {17779#true} is VALID [2022-04-28 12:37:38,339 INFO L272 TraceCheckUtils]: 22: Hoare triple {17779#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17779#true} is VALID [2022-04-28 12:37:38,339 INFO L290 TraceCheckUtils]: 23: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:37:38,339 INFO L290 TraceCheckUtils]: 24: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:37:38,339 INFO L290 TraceCheckUtils]: 25: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:37:38,339 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17779#true} {17779#true} #100#return; {17779#true} is VALID [2022-04-28 12:37:38,339 INFO L290 TraceCheckUtils]: 27: Hoare triple {17779#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17865#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:37:38,340 INFO L290 TraceCheckUtils]: 28: Hoare triple {17865#(and (= 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; {17865#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:37:38,340 INFO L290 TraceCheckUtils]: 29: Hoare triple {17865#(and (= 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; {17872#(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-28 12:37:38,340 INFO L290 TraceCheckUtils]: 30: Hoare triple {17872#(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; {17872#(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-28 12:37:38,341 INFO L290 TraceCheckUtils]: 31: Hoare triple {17872#(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; {17879#(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-28 12:37:38,342 INFO L290 TraceCheckUtils]: 32: Hoare triple {17879#(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; {17879#(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-28 12:37:38,342 INFO L272 TraceCheckUtils]: 33: Hoare triple {17879#(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)); {17779#true} is VALID [2022-04-28 12:37:38,342 INFO L290 TraceCheckUtils]: 34: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:37:38,342 INFO L290 TraceCheckUtils]: 35: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:37:38,342 INFO L290 TraceCheckUtils]: 36: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:37:38,343 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {17779#true} {17879#(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; {17879#(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-28 12:37:38,343 INFO L272 TraceCheckUtils]: 38: Hoare triple {17879#(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)); {17779#true} is VALID [2022-04-28 12:37:38,343 INFO L290 TraceCheckUtils]: 39: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:37:38,343 INFO L290 TraceCheckUtils]: 40: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:37:38,343 INFO L290 TraceCheckUtils]: 41: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:37:38,344 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17779#true} {17879#(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; {17879#(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-28 12:37:38,344 INFO L272 TraceCheckUtils]: 43: Hoare triple {17879#(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)); {17779#true} is VALID [2022-04-28 12:37:38,344 INFO L290 TraceCheckUtils]: 44: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:37:38,344 INFO L290 TraceCheckUtils]: 45: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:37:38,345 INFO L290 TraceCheckUtils]: 46: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:37:38,345 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17779#true} {17879#(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; {17879#(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-28 12:37:38,345 INFO L272 TraceCheckUtils]: 48: Hoare triple {17879#(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)); {17779#true} is VALID [2022-04-28 12:37:38,345 INFO L290 TraceCheckUtils]: 49: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:37:38,346 INFO L290 TraceCheckUtils]: 50: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:37:38,346 INFO L290 TraceCheckUtils]: 51: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:37:38,346 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17779#true} {17879#(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; {17879#(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-28 12:37:38,347 INFO L290 TraceCheckUtils]: 53: Hoare triple {17879#(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; {17946#(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-28 12:37:38,347 INFO L290 TraceCheckUtils]: 54: Hoare triple {17946#(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; {17946#(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-28 12:37:38,348 INFO L272 TraceCheckUtils]: 55: Hoare triple {17946#(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)); {17779#true} is VALID [2022-04-28 12:37:38,348 INFO L290 TraceCheckUtils]: 56: Hoare triple {17779#true} ~cond := #in~cond; {17956#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:37:38,348 INFO L290 TraceCheckUtils]: 57: Hoare triple {17956#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17960#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:38,348 INFO L290 TraceCheckUtils]: 58: Hoare triple {17960#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17960#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:38,349 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17960#(not (= |__VERIFIER_assert_#in~cond| 0))} {17946#(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; {17967#(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-28 12:37:38,350 INFO L272 TraceCheckUtils]: 60: Hoare triple {17967#(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)); {17779#true} is VALID [2022-04-28 12:37:38,350 INFO L290 TraceCheckUtils]: 61: Hoare triple {17779#true} ~cond := #in~cond; {17956#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:37:38,350 INFO L290 TraceCheckUtils]: 62: Hoare triple {17956#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17960#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:38,350 INFO L290 TraceCheckUtils]: 63: Hoare triple {17960#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17960#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:37:38,351 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {17960#(not (= |__VERIFIER_assert_#in~cond| 0))} {17967#(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; {17967#(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-28 12:37:38,351 INFO L272 TraceCheckUtils]: 65: Hoare triple {17967#(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)); {17779#true} is VALID [2022-04-28 12:37:38,351 INFO L290 TraceCheckUtils]: 66: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:37:38,351 INFO L290 TraceCheckUtils]: 67: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:37:38,351 INFO L290 TraceCheckUtils]: 68: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:37:38,352 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {17779#true} {17967#(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; {17967#(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-28 12:37:38,352 INFO L272 TraceCheckUtils]: 70: Hoare triple {17967#(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)); {17779#true} is VALID [2022-04-28 12:37:38,352 INFO L290 TraceCheckUtils]: 71: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:37:38,352 INFO L290 TraceCheckUtils]: 72: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:37:38,352 INFO L290 TraceCheckUtils]: 73: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:37:38,353 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {17779#true} {17967#(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; {17967#(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-28 12:37:38,354 INFO L290 TraceCheckUtils]: 75: Hoare triple {17967#(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); {17967#(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-28 12:37:38,354 INFO L290 TraceCheckUtils]: 76: Hoare triple {17967#(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; {18019#(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-28 12:37:38,355 INFO L290 TraceCheckUtils]: 77: Hoare triple {18019#(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; {18019#(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-28 12:37:38,355 INFO L290 TraceCheckUtils]: 78: Hoare triple {18019#(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); {18019#(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-28 12:37:38,356 INFO L290 TraceCheckUtils]: 79: Hoare triple {18019#(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; {18029#(and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:37:38,356 INFO L290 TraceCheckUtils]: 80: Hoare triple {18029#(and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !false; {18029#(and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:37:38,357 INFO L290 TraceCheckUtils]: 81: Hoare triple {18029#(and (= main_~p~0 0) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !(0 != ~b~0); {18036#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~x~0 (* (- 2) main_~a~0)) 0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 12:37:38,358 INFO L272 TraceCheckUtils]: 82: Hoare triple {18036#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~x~0 (* (- 2) main_~a~0)) 0) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ main_~s~0 (* main_~r~0 2)) 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)); {18040#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:37:38,358 INFO L290 TraceCheckUtils]: 83: Hoare triple {18040#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18044#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:37:38,358 INFO L290 TraceCheckUtils]: 84: Hoare triple {18044#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17780#false} is VALID [2022-04-28 12:37:38,358 INFO L290 TraceCheckUtils]: 85: Hoare triple {17780#false} assume !false; {17780#false} is VALID [2022-04-28 12:37:38,359 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 38 proven. 24 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-28 12:37:38,359 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:38:18,342 INFO L290 TraceCheckUtils]: 85: Hoare triple {17780#false} assume !false; {17780#false} is VALID [2022-04-28 12:38:18,342 INFO L290 TraceCheckUtils]: 84: Hoare triple {18044#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17780#false} is VALID [2022-04-28 12:38:18,343 INFO L290 TraceCheckUtils]: 83: Hoare triple {18040#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18044#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:38:18,343 INFO L272 TraceCheckUtils]: 82: Hoare triple {18060#(= (+ (* 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)); {18040#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:38:18,344 INFO L290 TraceCheckUtils]: 81: Hoare triple {18064#(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); {18060#(= (+ (* 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-28 12:38:18,344 INFO L290 TraceCheckUtils]: 80: Hoare triple {18064#(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; {18064#(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-28 12:38:18,464 INFO L290 TraceCheckUtils]: 79: Hoare triple {18071#(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; {18064#(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-28 12:38:18,465 INFO L290 TraceCheckUtils]: 78: Hoare triple {18071#(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); {18071#(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-28 12:38:18,465 INFO L290 TraceCheckUtils]: 77: Hoare triple {18071#(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; {18071#(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-28 12:38:18,530 INFO L290 TraceCheckUtils]: 76: Hoare triple {18081#(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; {18071#(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-28 12:38:18,531 INFO L290 TraceCheckUtils]: 75: Hoare triple {18081#(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); {18081#(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-28 12:38:18,531 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {17779#true} {18081#(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; {18081#(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-28 12:38:18,531 INFO L290 TraceCheckUtils]: 73: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:38:18,532 INFO L290 TraceCheckUtils]: 72: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:38:18,532 INFO L290 TraceCheckUtils]: 71: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:38:18,532 INFO L272 TraceCheckUtils]: 70: Hoare triple {18081#(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)); {17779#true} is VALID [2022-04-28 12:38:18,532 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {17779#true} {18081#(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; {18081#(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-28 12:38:18,532 INFO L290 TraceCheckUtils]: 68: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:38:18,533 INFO L290 TraceCheckUtils]: 67: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:38:18,533 INFO L290 TraceCheckUtils]: 66: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:38:18,533 INFO L272 TraceCheckUtils]: 65: Hoare triple {18081#(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)); {17779#true} is VALID [2022-04-28 12:38:18,534 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {17960#(not (= |__VERIFIER_assert_#in~cond| 0))} {18118#(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; {18081#(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-28 12:38:18,534 INFO L290 TraceCheckUtils]: 63: Hoare triple {17960#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17960#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:18,534 INFO L290 TraceCheckUtils]: 62: Hoare triple {18128#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {17960#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:18,535 INFO L290 TraceCheckUtils]: 61: Hoare triple {17779#true} ~cond := #in~cond; {18128#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:38:18,535 INFO L272 TraceCheckUtils]: 60: Hoare triple {18118#(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)); {17779#true} is VALID [2022-04-28 12:38:18,536 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17960#(not (= |__VERIFIER_assert_#in~cond| 0))} {18135#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 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)))) (= (+ 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; {18118#(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-28 12:38:18,536 INFO L290 TraceCheckUtils]: 58: Hoare triple {17960#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17960#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:18,536 INFO L290 TraceCheckUtils]: 57: Hoare triple {18128#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {17960#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:38:18,536 INFO L290 TraceCheckUtils]: 56: Hoare triple {17779#true} ~cond := #in~cond; {18128#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:38:18,537 INFO L272 TraceCheckUtils]: 55: Hoare triple {18135#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 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)))) (= (+ 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)); {17779#true} is VALID [2022-04-28 12:38:18,537 INFO L290 TraceCheckUtils]: 54: Hoare triple {18135#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 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)))) (= (+ 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; {18135#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 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)))) (= (+ 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-28 12:38:18,655 INFO L290 TraceCheckUtils]: 53: Hoare triple {18154#(or (not (= (* 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)))) (= (+ (* 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; {18135#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 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)))) (= (+ 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-28 12:38:18,656 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17779#true} {18154#(or (not (= (* 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)))) (= (+ (* 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))))} #108#return; {18154#(or (not (= (* 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)))) (= (+ (* 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-28 12:38:18,656 INFO L290 TraceCheckUtils]: 51: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:38:18,656 INFO L290 TraceCheckUtils]: 50: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:38:18,656 INFO L290 TraceCheckUtils]: 49: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:38:18,656 INFO L272 TraceCheckUtils]: 48: Hoare triple {18154#(or (not (= (* 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)))) (= (+ (* 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))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17779#true} is VALID [2022-04-28 12:38:18,657 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17779#true} {18154#(or (not (= (* 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)))) (= (+ (* 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))))} #106#return; {18154#(or (not (= (* 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)))) (= (+ (* 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-28 12:38:18,657 INFO L290 TraceCheckUtils]: 46: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:38:18,657 INFO L290 TraceCheckUtils]: 45: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:38:18,657 INFO L290 TraceCheckUtils]: 44: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:38:18,657 INFO L272 TraceCheckUtils]: 43: Hoare triple {18154#(or (not (= (* 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)))) (= (+ (* 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))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17779#true} is VALID [2022-04-28 12:38:18,658 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17779#true} {18154#(or (not (= (* 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)))) (= (+ (* 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))))} #104#return; {18154#(or (not (= (* 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)))) (= (+ (* 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-28 12:38:18,658 INFO L290 TraceCheckUtils]: 41: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:38:18,658 INFO L290 TraceCheckUtils]: 40: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:38:18,658 INFO L290 TraceCheckUtils]: 39: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:38:18,658 INFO L272 TraceCheckUtils]: 38: Hoare triple {18154#(or (not (= (* 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)))) (= (+ (* 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))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17779#true} is VALID [2022-04-28 12:38:18,659 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {17779#true} {18154#(or (not (= (* 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)))) (= (+ (* 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))))} #102#return; {18154#(or (not (= (* 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)))) (= (+ (* 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-28 12:38:18,659 INFO L290 TraceCheckUtils]: 36: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:38:18,659 INFO L290 TraceCheckUtils]: 35: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:38:18,659 INFO L290 TraceCheckUtils]: 34: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:38:18,660 INFO L272 TraceCheckUtils]: 33: Hoare triple {18154#(or (not (= (* 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)))) (= (+ (* 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))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17779#true} is VALID [2022-04-28 12:38:18,660 INFO L290 TraceCheckUtils]: 32: Hoare triple {18154#(or (not (= (* 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)))) (= (+ (* 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 !false; {18154#(or (not (= (* 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)))) (= (+ (* 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-28 12:38:18,661 INFO L290 TraceCheckUtils]: 31: Hoare triple {18221#(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)))) (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; {18154#(or (not (= (* 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)))) (= (+ (* 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-28 12:38:18,662 INFO L290 TraceCheckUtils]: 30: Hoare triple {18221#(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)))) (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; {18221#(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)))) (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-28 12:38:18,663 INFO L290 TraceCheckUtils]: 29: Hoare triple {17779#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {18221#(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)))) (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-28 12:38:18,663 INFO L290 TraceCheckUtils]: 28: Hoare triple {17779#true} assume !false; {17779#true} is VALID [2022-04-28 12:38:18,663 INFO L290 TraceCheckUtils]: 27: Hoare triple {17779#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17779#true} is VALID [2022-04-28 12:38:18,663 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17779#true} {17779#true} #100#return; {17779#true} is VALID [2022-04-28 12:38:18,663 INFO L290 TraceCheckUtils]: 25: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:38:18,663 INFO L290 TraceCheckUtils]: 24: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:38:18,663 INFO L290 TraceCheckUtils]: 23: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:38:18,663 INFO L272 TraceCheckUtils]: 22: Hoare triple {17779#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17779#true} is VALID [2022-04-28 12:38:18,664 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17779#true} {17779#true} #98#return; {17779#true} is VALID [2022-04-28 12:38:18,664 INFO L290 TraceCheckUtils]: 20: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:38:18,664 INFO L290 TraceCheckUtils]: 19: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:38:18,664 INFO L290 TraceCheckUtils]: 18: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:38:18,664 INFO L272 TraceCheckUtils]: 17: Hoare triple {17779#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17779#true} is VALID [2022-04-28 12:38:18,664 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17779#true} {17779#true} #96#return; {17779#true} is VALID [2022-04-28 12:38:18,664 INFO L290 TraceCheckUtils]: 15: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:38:18,664 INFO L290 TraceCheckUtils]: 14: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:38:18,664 INFO L290 TraceCheckUtils]: 13: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:38:18,664 INFO L272 TraceCheckUtils]: 12: Hoare triple {17779#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {17779#true} is VALID [2022-04-28 12:38:18,664 INFO L290 TraceCheckUtils]: 11: Hoare triple {17779#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17779#true} is VALID [2022-04-28 12:38:18,664 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17779#true} {17779#true} #94#return; {17779#true} is VALID [2022-04-28 12:38:18,664 INFO L290 TraceCheckUtils]: 9: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:38:18,664 INFO L290 TraceCheckUtils]: 8: Hoare triple {17779#true} assume !(0 == ~cond); {17779#true} is VALID [2022-04-28 12:38:18,665 INFO L290 TraceCheckUtils]: 7: Hoare triple {17779#true} ~cond := #in~cond; {17779#true} is VALID [2022-04-28 12:38:18,665 INFO L272 TraceCheckUtils]: 6: Hoare triple {17779#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {17779#true} is VALID [2022-04-28 12:38:18,665 INFO L290 TraceCheckUtils]: 5: Hoare triple {17779#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; {17779#true} is VALID [2022-04-28 12:38:18,665 INFO L272 TraceCheckUtils]: 4: Hoare triple {17779#true} call #t~ret6 := main(); {17779#true} is VALID [2022-04-28 12:38:18,665 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17779#true} {17779#true} #112#return; {17779#true} is VALID [2022-04-28 12:38:18,665 INFO L290 TraceCheckUtils]: 2: Hoare triple {17779#true} assume true; {17779#true} is VALID [2022-04-28 12:38:18,665 INFO L290 TraceCheckUtils]: 1: Hoare triple {17779#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); {17779#true} is VALID [2022-04-28 12:38:18,665 INFO L272 TraceCheckUtils]: 0: Hoare triple {17779#true} call ULTIMATE.init(); {17779#true} is VALID [2022-04-28 12:38:18,665 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 40 proven. 22 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-28 12:38:18,666 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:38:18,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [56531217] [2022-04-28 12:38:18,666 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:38:18,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [78156281] [2022-04-28 12:38:18,666 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [78156281] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:38:18,666 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:38:18,666 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 23 [2022-04-28 12:38:18,666 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:38:18,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [827177570] [2022-04-28 12:38:18,666 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [827177570] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:38:18,666 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:38:18,666 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 12:38:18,667 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [650145299] [2022-04-28 12:38:18,667 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:38:18,667 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-28 12:38:18,667 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:38:18,667 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:38:18,720 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:18,721 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 12:38:18,721 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:18,721 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 12:38:18,721 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=420, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:38:18,722 INFO L87 Difference]: Start difference. First operand 265 states and 357 transitions. Second operand has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:38:22,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:22,598 INFO L93 Difference]: Finished difference Result 348 states and 475 transitions. [2022-04-28 12:38:22,598 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:38:22,598 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-28 12:38:22,598 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:38:22,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:38:22,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 143 transitions. [2022-04-28 12:38:22,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:38:22,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 143 transitions. [2022-04-28 12:38:22,601 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 143 transitions. [2022-04-28 12:38:22,766 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-28 12:38:22,774 INFO L225 Difference]: With dead ends: 348 [2022-04-28 12:38:22,774 INFO L226 Difference]: Without dead ends: 345 [2022-04-28 12:38:22,774 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 175 GetRequests, 149 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 128 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=112, Invalid=590, Unknown=0, NotChecked=0, Total=702 [2022-04-28 12:38:22,775 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 54 mSDsluCounter, 299 mSDsCounter, 0 mSdLazyCounter, 820 mSolverCounterSat, 48 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 70 SdHoareTripleChecker+Valid, 351 SdHoareTripleChecker+Invalid, 868 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 48 IncrementalHoareTripleChecker+Valid, 820 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:38:22,775 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [70 Valid, 351 Invalid, 868 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [48 Valid, 820 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 12:38:22,775 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 345 states. [2022-04-28 12:38:23,706 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 345 to 330. [2022-04-28 12:38:23,707 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:38:23,707 INFO L82 GeneralOperation]: Start isEquivalent. First operand 345 states. Second operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) [2022-04-28 12:38:23,708 INFO L74 IsIncluded]: Start isIncluded. First operand 345 states. Second operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) [2022-04-28 12:38:23,708 INFO L87 Difference]: Start difference. First operand 345 states. Second operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) [2022-04-28 12:38:23,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:23,715 INFO L93 Difference]: Finished difference Result 345 states and 471 transitions. [2022-04-28 12:38:23,715 INFO L276 IsEmpty]: Start isEmpty. Operand 345 states and 471 transitions. [2022-04-28 12:38:23,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:23,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:23,716 INFO L74 IsIncluded]: Start isIncluded. First operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) Second operand 345 states. [2022-04-28 12:38:23,717 INFO L87 Difference]: Start difference. First operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) Second operand 345 states. [2022-04-28 12:38:23,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:38:23,724 INFO L93 Difference]: Finished difference Result 345 states and 471 transitions. [2022-04-28 12:38:23,724 INFO L276 IsEmpty]: Start isEmpty. Operand 345 states and 471 transitions. [2022-04-28 12:38:23,725 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:38:23,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:38:23,725 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:38:23,725 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:38:23,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 330 states, 191 states have (on average 1.193717277486911) internal successors, (228), 192 states have internal predecessors, (228), 115 states have call successors, (115), 24 states have call predecessors, (115), 23 states have return successors, (113), 113 states have call predecessors, (113), 113 states have call successors, (113) [2022-04-28 12:38:23,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 330 states to 330 states and 456 transitions. [2022-04-28 12:38:23,733 INFO L78 Accepts]: Start accepts. Automaton has 330 states and 456 transitions. Word has length 86 [2022-04-28 12:38:23,733 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:38:23,733 INFO L495 AbstractCegarLoop]: Abstraction has 330 states and 456 transitions. [2022-04-28 12:38:23,733 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 13 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:38:23,733 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 330 states and 456 transitions. [2022-04-28 12:38:24,599 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 456 edges. 456 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:38:24,599 INFO L276 IsEmpty]: Start isEmpty. Operand 330 states and 456 transitions. [2022-04-28 12:38:24,600 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 12:38:24,600 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:38:24,600 INFO L195 NwaCegarLoop]: 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-28 12:38:24,618 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 12:38:24,813 WARN L477 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-28 12:38:24,813 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:38:24,813 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:38:24,813 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 3 times [2022-04-28 12:38:24,813 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:38:24,813 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [979607069] [2022-04-28 12:38:24,814 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:38:24,814 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 4 times [2022-04-28 12:38:24,814 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:38:24,814 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1146786387] [2022-04-28 12:38:24,814 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:38:24,814 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:38:24,826 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:38:24,826 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1761773757] [2022-04-28 12:38:24,826 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:38:24,826 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:38:24,826 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:38:24,827 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:38:24,828 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 12:38:24,871 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:38:24,872 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:38:24,873 INFO L263 TraceCheckSpWp]: Trace formula consists of 202 conjuncts, 76 conjunts are in the unsatisfiable core [2022-04-28 12:38:24,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:38:24,888 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:39:13,466 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:39:22,030 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:39:28,044 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:39:36,090 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:39:39,997 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:39:43,343 INFO L272 TraceCheckUtils]: 0: Hoare triple {20371#true} call ULTIMATE.init(); {20371#true} is VALID [2022-04-28 12:39:43,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {20371#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); {20371#true} is VALID [2022-04-28 12:39:43,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {20371#true} assume true; {20371#true} is VALID [2022-04-28 12:39:43,343 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20371#true} {20371#true} #112#return; {20371#true} is VALID [2022-04-28 12:39:43,343 INFO L272 TraceCheckUtils]: 4: Hoare triple {20371#true} call #t~ret6 := main(); {20371#true} is VALID [2022-04-28 12:39:43,343 INFO L290 TraceCheckUtils]: 5: Hoare triple {20371#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; {20371#true} is VALID [2022-04-28 12:39:43,343 INFO L272 TraceCheckUtils]: 6: Hoare triple {20371#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {20371#true} is VALID [2022-04-28 12:39:43,343 INFO L290 TraceCheckUtils]: 7: Hoare triple {20371#true} ~cond := #in~cond; {20371#true} is VALID [2022-04-28 12:39:43,343 INFO L290 TraceCheckUtils]: 8: Hoare triple {20371#true} assume !(0 == ~cond); {20371#true} is VALID [2022-04-28 12:39:43,343 INFO L290 TraceCheckUtils]: 9: Hoare triple {20371#true} assume true; {20371#true} is VALID [2022-04-28 12:39:43,343 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20371#true} {20371#true} #94#return; {20371#true} is VALID [2022-04-28 12:39:43,344 INFO L290 TraceCheckUtils]: 11: Hoare triple {20371#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20371#true} is VALID [2022-04-28 12:39:43,344 INFO L272 TraceCheckUtils]: 12: Hoare triple {20371#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {20371#true} is VALID [2022-04-28 12:39:43,344 INFO L290 TraceCheckUtils]: 13: Hoare triple {20371#true} ~cond := #in~cond; {20371#true} is VALID [2022-04-28 12:39:43,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {20371#true} assume !(0 == ~cond); {20371#true} is VALID [2022-04-28 12:39:43,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {20371#true} assume true; {20371#true} is VALID [2022-04-28 12:39:43,344 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20371#true} {20371#true} #96#return; {20371#true} is VALID [2022-04-28 12:39:43,344 INFO L272 TraceCheckUtils]: 17: Hoare triple {20371#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20371#true} is VALID [2022-04-28 12:39:43,344 INFO L290 TraceCheckUtils]: 18: Hoare triple {20371#true} ~cond := #in~cond; {20371#true} is VALID [2022-04-28 12:39:43,344 INFO L290 TraceCheckUtils]: 19: Hoare triple {20371#true} assume !(0 == ~cond); {20371#true} is VALID [2022-04-28 12:39:43,344 INFO L290 TraceCheckUtils]: 20: Hoare triple {20371#true} assume true; {20371#true} is VALID [2022-04-28 12:39:43,344 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20371#true} {20371#true} #98#return; {20371#true} is VALID [2022-04-28 12:39:43,344 INFO L272 TraceCheckUtils]: 22: Hoare triple {20371#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20371#true} is VALID [2022-04-28 12:39:43,344 INFO L290 TraceCheckUtils]: 23: Hoare triple {20371#true} ~cond := #in~cond; {20371#true} is VALID [2022-04-28 12:39:43,344 INFO L290 TraceCheckUtils]: 24: Hoare triple {20371#true} assume !(0 == ~cond); {20371#true} is VALID [2022-04-28 12:39:43,344 INFO L290 TraceCheckUtils]: 25: Hoare triple {20371#true} assume true; {20371#true} is VALID [2022-04-28 12:39:43,345 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20371#true} {20371#true} #100#return; {20371#true} is VALID [2022-04-28 12:39:43,345 INFO L290 TraceCheckUtils]: 27: Hoare triple {20371#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {20457#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:39:43,345 INFO L290 TraceCheckUtils]: 28: Hoare triple {20457#(and (= 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; {20457#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:39:43,346 INFO L290 TraceCheckUtils]: 29: Hoare triple {20457#(and (= 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; {20464#(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-28 12:39:43,346 INFO L290 TraceCheckUtils]: 30: Hoare triple {20464#(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; {20464#(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-28 12:39:43,346 INFO L290 TraceCheckUtils]: 31: Hoare triple {20464#(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); {20464#(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-28 12:39:43,347 INFO L290 TraceCheckUtils]: 32: Hoare triple {20464#(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; {20474#(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-28 12:39:43,347 INFO L290 TraceCheckUtils]: 33: Hoare triple {20474#(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; {20474#(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-28 12:39:43,348 INFO L290 TraceCheckUtils]: 34: Hoare triple {20474#(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; {20481#(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-28 12:39:43,348 INFO L290 TraceCheckUtils]: 35: Hoare triple {20481#(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; {20481#(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-28 12:39:43,348 INFO L290 TraceCheckUtils]: 36: Hoare triple {20481#(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; {20488#(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-28 12:39:43,349 INFO L290 TraceCheckUtils]: 37: Hoare triple {20488#(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; {20488#(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-28 12:39:43,349 INFO L272 TraceCheckUtils]: 38: Hoare triple {20488#(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)); {20371#true} is VALID [2022-04-28 12:39:43,349 INFO L290 TraceCheckUtils]: 39: Hoare triple {20371#true} ~cond := #in~cond; {20371#true} is VALID [2022-04-28 12:39:43,349 INFO L290 TraceCheckUtils]: 40: Hoare triple {20371#true} assume !(0 == ~cond); {20371#true} is VALID [2022-04-28 12:39:43,349 INFO L290 TraceCheckUtils]: 41: Hoare triple {20371#true} assume true; {20371#true} is VALID [2022-04-28 12:39:43,350 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20371#true} {20488#(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; {20488#(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-28 12:39:43,350 INFO L272 TraceCheckUtils]: 43: Hoare triple {20488#(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)); {20371#true} is VALID [2022-04-28 12:39:43,350 INFO L290 TraceCheckUtils]: 44: Hoare triple {20371#true} ~cond := #in~cond; {20371#true} is VALID [2022-04-28 12:39:43,350 INFO L290 TraceCheckUtils]: 45: Hoare triple {20371#true} assume !(0 == ~cond); {20371#true} is VALID [2022-04-28 12:39:43,350 INFO L290 TraceCheckUtils]: 46: Hoare triple {20371#true} assume true; {20371#true} is VALID [2022-04-28 12:39:43,351 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20371#true} {20488#(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; {20488#(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-28 12:39:43,351 INFO L272 TraceCheckUtils]: 48: Hoare triple {20488#(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)); {20371#true} is VALID [2022-04-28 12:39:43,351 INFO L290 TraceCheckUtils]: 49: Hoare triple {20371#true} ~cond := #in~cond; {20371#true} is VALID [2022-04-28 12:39:43,351 INFO L290 TraceCheckUtils]: 50: Hoare triple {20371#true} assume !(0 == ~cond); {20371#true} is VALID [2022-04-28 12:39:43,351 INFO L290 TraceCheckUtils]: 51: Hoare triple {20371#true} assume true; {20371#true} is VALID [2022-04-28 12:39:43,351 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20371#true} {20488#(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; {20488#(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-28 12:39:43,352 INFO L272 TraceCheckUtils]: 53: Hoare triple {20488#(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)); {20371#true} is VALID [2022-04-28 12:39:43,352 INFO L290 TraceCheckUtils]: 54: Hoare triple {20371#true} ~cond := #in~cond; {20371#true} is VALID [2022-04-28 12:39:43,352 INFO L290 TraceCheckUtils]: 55: Hoare triple {20371#true} assume !(0 == ~cond); {20371#true} is VALID [2022-04-28 12:39:43,352 INFO L290 TraceCheckUtils]: 56: Hoare triple {20371#true} assume true; {20371#true} is VALID [2022-04-28 12:39:43,352 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {20371#true} {20488#(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; {20488#(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-28 12:39:43,353 INFO L290 TraceCheckUtils]: 58: Hoare triple {20488#(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; {20555#(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-28 12:39:43,354 INFO L290 TraceCheckUtils]: 59: Hoare triple {20555#(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; {20555#(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-28 12:39:43,354 INFO L272 TraceCheckUtils]: 60: Hoare triple {20555#(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)); {20371#true} is VALID [2022-04-28 12:39:43,354 INFO L290 TraceCheckUtils]: 61: Hoare triple {20371#true} ~cond := #in~cond; {20565#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:39:43,354 INFO L290 TraceCheckUtils]: 62: Hoare triple {20565#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20569#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:39:43,355 INFO L290 TraceCheckUtils]: 63: Hoare triple {20569#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20569#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:39:43,356 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20569#(not (= |__VERIFIER_assert_#in~cond| 0))} {20555#(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; {20576#(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-28 12:39:43,356 INFO L272 TraceCheckUtils]: 65: Hoare triple {20576#(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)); {20371#true} is VALID [2022-04-28 12:39:43,356 INFO L290 TraceCheckUtils]: 66: Hoare triple {20371#true} ~cond := #in~cond; {20565#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:39:43,356 INFO L290 TraceCheckUtils]: 67: Hoare triple {20565#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20569#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:39:43,356 INFO L290 TraceCheckUtils]: 68: Hoare triple {20569#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20569#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:39:43,357 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {20569#(not (= |__VERIFIER_assert_#in~cond| 0))} {20576#(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; {20592#(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-28 12:39:43,357 INFO L272 TraceCheckUtils]: 70: Hoare triple {20592#(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)); {20371#true} is VALID [2022-04-28 12:39:43,358 INFO L290 TraceCheckUtils]: 71: Hoare triple {20371#true} ~cond := #in~cond; {20371#true} is VALID [2022-04-28 12:39:43,358 INFO L290 TraceCheckUtils]: 72: Hoare triple {20371#true} assume !(0 == ~cond); {20371#true} is VALID [2022-04-28 12:39:43,358 INFO L290 TraceCheckUtils]: 73: Hoare triple {20371#true} assume true; {20371#true} is VALID [2022-04-28 12:39:43,358 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {20371#true} {20592#(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; {20592#(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-28 12:39:43,358 INFO L272 TraceCheckUtils]: 75: Hoare triple {20592#(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)); {20371#true} is VALID [2022-04-28 12:39:43,359 INFO L290 TraceCheckUtils]: 76: Hoare triple {20371#true} ~cond := #in~cond; {20565#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:39:43,359 INFO L290 TraceCheckUtils]: 77: Hoare triple {20565#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20569#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:39:43,359 INFO L290 TraceCheckUtils]: 78: Hoare triple {20569#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20569#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:39:43,360 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {20569#(not (= |__VERIFIER_assert_#in~cond| 0))} {20592#(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; {20623#(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-28 12:39:43,361 INFO L290 TraceCheckUtils]: 80: Hoare triple {20623#(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); {20623#(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-28 12:39:43,363 INFO L290 TraceCheckUtils]: 81: Hoare triple {20623#(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; {20630#(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-28 12:39:43,364 INFO L290 TraceCheckUtils]: 82: Hoare triple {20630#(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; {20630#(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-28 12:39:43,364 INFO L290 TraceCheckUtils]: 83: Hoare triple {20630#(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); {20630#(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-28 12:39:45,366 WARN L290 TraceCheckUtils]: 84: Hoare triple {20630#(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; {20640#(and (= (div (+ (* (- 1) main_~s~0) 1) 2) 0) (= (mod (+ (* main_~q~0 main_~x~0) main_~b~0 main_~y~0) 2) 0) (= main_~r~0 0) (= 0 (div (+ (* main_~q~0 main_~x~0) main_~y~0 (* (- 1) main_~b~0)) 2)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (or (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) (* 2 (* main_~y~0 main_~r~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)))))) (and (= main_~p~0 0) (= (mod main_~q~0 2) 0) (= (div (- main_~q~0) 2) 0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (mod (+ main_~s~0 1) 2) 0))} is UNKNOWN [2022-04-28 12:39:45,369 INFO L290 TraceCheckUtils]: 85: Hoare triple {20640#(and (= (div (+ (* (- 1) main_~s~0) 1) 2) 0) (= (mod (+ (* main_~q~0 main_~x~0) main_~b~0 main_~y~0) 2) 0) (= main_~r~0 0) (= 0 (div (+ (* main_~q~0 main_~x~0) main_~y~0 (* (- 1) main_~b~0)) 2)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (or (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) (* 2 (* main_~y~0 main_~r~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)))))) (and (= main_~p~0 0) (= (mod main_~q~0 2) 0) (= (div (- main_~q~0) 2) 0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (mod (+ main_~s~0 1) 2) 0))} assume !false; {20640#(and (= (div (+ (* (- 1) main_~s~0) 1) 2) 0) (= (mod (+ (* main_~q~0 main_~x~0) main_~b~0 main_~y~0) 2) 0) (= main_~r~0 0) (= 0 (div (+ (* main_~q~0 main_~x~0) main_~y~0 (* (- 1) main_~b~0)) 2)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (or (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) (* 2 (* main_~y~0 main_~r~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)))))) (and (= main_~p~0 0) (= (mod main_~q~0 2) 0) (= (div (- main_~q~0) 2) 0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (mod (+ main_~s~0 1) 2) 0))} is VALID [2022-04-28 12:39:45,370 INFO L290 TraceCheckUtils]: 86: Hoare triple {20640#(and (= (div (+ (* (- 1) main_~s~0) 1) 2) 0) (= (mod (+ (* main_~q~0 main_~x~0) main_~b~0 main_~y~0) 2) 0) (= main_~r~0 0) (= 0 (div (+ (* main_~q~0 main_~x~0) main_~y~0 (* (- 1) main_~b~0)) 2)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (or (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) (* 2 (* main_~y~0 main_~r~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)))))) (and (= main_~p~0 0) (= (mod main_~q~0 2) 0) (= (div (- main_~q~0) 2) 0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (mod (+ main_~s~0 1) 2) 0))} assume !(0 != ~b~0); {20647#(and (= (div (+ (* (- 1) main_~s~0) 1) 2) 0) (= (mod (+ (* main_~q~0 main_~x~0) main_~y~0) 2) 0) (= main_~r~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (div (+ (* main_~q~0 main_~x~0) main_~y~0) 2) 0) (or (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) (* 2 (* main_~y~0 main_~r~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)))))) (and (= main_~p~0 0) (= (mod main_~q~0 2) 0) (= (div (- main_~q~0) 2) 0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (mod (+ main_~s~0 1) 2) 0))} is VALID [2022-04-28 12:39:45,378 INFO L272 TraceCheckUtils]: 87: Hoare triple {20647#(and (= (div (+ (* (- 1) main_~s~0) 1) 2) 0) (= (mod (+ (* main_~q~0 main_~x~0) main_~y~0) 2) 0) (= main_~r~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (div (+ (* main_~q~0 main_~x~0) main_~y~0) 2) 0) (or (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) (* 2 (* main_~y~0 main_~r~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)))))) (and (= main_~p~0 0) (= (mod main_~q~0 2) 0) (= (div (- main_~q~0) 2) 0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (mod (+ main_~s~0 1) 2) 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)); {20651#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:39:45,379 INFO L290 TraceCheckUtils]: 88: Hoare triple {20651#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20655#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:39:45,379 INFO L290 TraceCheckUtils]: 89: Hoare triple {20655#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20372#false} is VALID [2022-04-28 12:39:45,379 INFO L290 TraceCheckUtils]: 90: Hoare triple {20372#false} assume !false; {20372#false} is VALID [2022-04-28 12:39:45,380 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-28 12:39:45,380 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:40:39,493 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:40:42,906 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:42,906 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1146786387] [2022-04-28 12:40:42,906 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:42,906 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1761773757] [2022-04-28 12:40:42,907 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1761773757] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:40:42,907 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:40:42,907 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2022-04-28 12:40:42,907 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:42,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [979607069] [2022-04-28 12:40:42,907 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [979607069] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:42,907 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:42,907 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 12:40:42,907 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1242454993] [2022-04-28 12:40:42,907 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:42,908 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-28 12:40:42,908 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:42,908 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-28 12:40:44,994 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-28 12:40:44,994 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 12:40:44,994 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:44,995 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 12:40:44,995 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=595, Unknown=0, NotChecked=0, Total=702 [2022-04-28 12:40:44,995 INFO L87 Difference]: Start difference. First operand 330 states and 456 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-28 12:40:51,375 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-28 12:40:59,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:59,536 INFO L93 Difference]: Finished difference Result 418 states and 579 transitions. [2022-04-28 12:40:59,537 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 12:40:59,537 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-28 12:40:59,537 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:59,537 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-28 12:40:59,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 175 transitions. [2022-04-28 12:40:59,539 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-28 12:40:59,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 175 transitions. [2022-04-28 12:40:59,540 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 175 transitions. [2022-04-28 12:41:01,933 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 175 edges. 174 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:01,941 INFO L225 Difference]: With dead ends: 418 [2022-04-28 12:41:01,942 INFO L226 Difference]: Without dead ends: 415 [2022-04-28 12:41:01,942 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 98 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 209 ImplicationChecksByTransitivity, 5.4s TimeCoverageRelationStatistics Valid=172, Invalid=950, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 12:41:01,942 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 66 mSDsluCounter, 355 mSDsCounter, 0 mSdLazyCounter, 1125 mSolverCounterSat, 66 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 84 SdHoareTripleChecker+Valid, 414 SdHoareTripleChecker+Invalid, 1192 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 66 IncrementalHoareTripleChecker+Valid, 1125 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.9s IncrementalHoareTripleChecker+Time [2022-04-28 12:41:01,943 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [84 Valid, 414 Invalid, 1192 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [66 Valid, 1125 Invalid, 1 Unknown, 0 Unchecked, 6.9s Time] [2022-04-28 12:41:01,943 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 415 states. [2022-04-28 12:41:03,066 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 415 to 395. [2022-04-28 12:41:03,066 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:41:03,067 INFO L82 GeneralOperation]: Start isEquivalent. First operand 415 states. Second operand has 395 states, 225 states have (on average 1.2044444444444444) internal successors, (271), 226 states have internal predecessors, (271), 143 states have call successors, (143), 27 states have call predecessors, (143), 26 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-28 12:41:03,068 INFO L74 IsIncluded]: Start isIncluded. First operand 415 states. Second operand has 395 states, 225 states have (on average 1.2044444444444444) internal successors, (271), 226 states have internal predecessors, (271), 143 states have call successors, (143), 27 states have call predecessors, (143), 26 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-28 12:41:03,068 INFO L87 Difference]: Start difference. First operand 415 states. Second operand has 395 states, 225 states have (on average 1.2044444444444444) internal successors, (271), 226 states have internal predecessors, (271), 143 states have call successors, (143), 27 states have call predecessors, (143), 26 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-28 12:41:03,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:03,083 INFO L93 Difference]: Finished difference Result 415 states and 575 transitions. [2022-04-28 12:41:03,083 INFO L276 IsEmpty]: Start isEmpty. Operand 415 states and 575 transitions. [2022-04-28 12:41:03,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:41:03,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:41:03,085 INFO L74 IsIncluded]: Start isIncluded. First operand has 395 states, 225 states have (on average 1.2044444444444444) internal successors, (271), 226 states have internal predecessors, (271), 143 states have call successors, (143), 27 states have call predecessors, (143), 26 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) Second operand 415 states. [2022-04-28 12:41:03,086 INFO L87 Difference]: Start difference. First operand has 395 states, 225 states have (on average 1.2044444444444444) internal successors, (271), 226 states have internal predecessors, (271), 143 states have call successors, (143), 27 states have call predecessors, (143), 26 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) Second operand 415 states. [2022-04-28 12:41:03,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:03,097 INFO L93 Difference]: Finished difference Result 415 states and 575 transitions. [2022-04-28 12:41:03,097 INFO L276 IsEmpty]: Start isEmpty. Operand 415 states and 575 transitions. [2022-04-28 12:41:03,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:41:03,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:41:03,098 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:41:03,098 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:41:03,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 395 states, 225 states have (on average 1.2044444444444444) internal successors, (271), 226 states have internal predecessors, (271), 143 states have call successors, (143), 27 states have call predecessors, (143), 26 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-28 12:41:03,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 395 states to 395 states and 555 transitions. [2022-04-28 12:41:03,110 INFO L78 Accepts]: Start accepts. Automaton has 395 states and 555 transitions. Word has length 91 [2022-04-28 12:41:03,110 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:41:03,110 INFO L495 AbstractCegarLoop]: Abstraction has 395 states and 555 transitions. [2022-04-28 12:41:03,110 INFO L496 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-28 12:41:03,110 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 395 states and 555 transitions. [2022-04-28 12:41:04,974 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 555 edges. 555 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:04,974 INFO L276 IsEmpty]: Start isEmpty. Operand 395 states and 555 transitions. [2022-04-28 12:41:04,975 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-28 12:41:04,975 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:41:04,975 INFO L195 NwaCegarLoop]: 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-28 12:41:04,993 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 12:41:05,176 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 12:41:05,176 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:41:05,176 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:41:05,176 INFO L85 PathProgramCache]: Analyzing trace with hash -100199667, now seen corresponding path program 7 times [2022-04-28 12:41:05,177 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:05,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1072440393] [2022-04-28 12:41:05,178 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:41:05,178 INFO L85 PathProgramCache]: Analyzing trace with hash -100199667, now seen corresponding path program 8 times [2022-04-28 12:41:05,178 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:41:05,178 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1936816257] [2022-04-28 12:41:05,178 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:41:05,178 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:41:05,189 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:41:05,189 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [940016058] [2022-04-28 12:41:05,189 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:41:05,189 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:41:05,189 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:41:05,190 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:41:05,191 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 12:41:05,256 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:41:05,256 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:41:05,258 INFO L263 TraceCheckSpWp]: Trace formula consists of 266 conjuncts, 89 conjunts are in the unsatisfiable core [2022-04-28 12:41:05,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:41:05,272 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:41:26,155 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:41:38,400 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:41:38,622 INFO L272 TraceCheckUtils]: 0: Hoare triple {23242#true} call ULTIMATE.init(); {23242#true} is VALID [2022-04-28 12:41:38,623 INFO L290 TraceCheckUtils]: 1: Hoare triple {23242#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); {23242#true} is VALID [2022-04-28 12:41:38,623 INFO L290 TraceCheckUtils]: 2: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:41:38,623 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23242#true} {23242#true} #112#return; {23242#true} is VALID [2022-04-28 12:41:38,623 INFO L272 TraceCheckUtils]: 4: Hoare triple {23242#true} call #t~ret6 := main(); {23242#true} is VALID [2022-04-28 12:41:38,623 INFO L290 TraceCheckUtils]: 5: Hoare triple {23242#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; {23242#true} is VALID [2022-04-28 12:41:38,623 INFO L272 TraceCheckUtils]: 6: Hoare triple {23242#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:41:38,623 INFO L290 TraceCheckUtils]: 7: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:41:38,623 INFO L290 TraceCheckUtils]: 8: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:41:38,623 INFO L290 TraceCheckUtils]: 9: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:41:38,623 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23242#true} {23242#true} #94#return; {23242#true} is VALID [2022-04-28 12:41:38,623 INFO L290 TraceCheckUtils]: 11: Hoare triple {23242#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23242#true} is VALID [2022-04-28 12:41:38,623 INFO L272 TraceCheckUtils]: 12: Hoare triple {23242#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:41:38,623 INFO L290 TraceCheckUtils]: 13: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:41:38,623 INFO L290 TraceCheckUtils]: 14: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:41:38,624 INFO L290 TraceCheckUtils]: 15: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:41:38,624 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23242#true} {23242#true} #96#return; {23242#true} is VALID [2022-04-28 12:41:38,624 INFO L272 TraceCheckUtils]: 17: Hoare triple {23242#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:41:38,624 INFO L290 TraceCheckUtils]: 18: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:41:38,624 INFO L290 TraceCheckUtils]: 19: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:41:38,624 INFO L290 TraceCheckUtils]: 20: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:41:38,624 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {23242#true} {23242#true} #98#return; {23242#true} is VALID [2022-04-28 12:41:38,624 INFO L272 TraceCheckUtils]: 22: Hoare triple {23242#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:41:38,624 INFO L290 TraceCheckUtils]: 23: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:41:38,624 INFO L290 TraceCheckUtils]: 24: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:41:38,624 INFO L290 TraceCheckUtils]: 25: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:41:38,624 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {23242#true} {23242#true} #100#return; {23242#true} is VALID [2022-04-28 12:41:38,626 INFO L290 TraceCheckUtils]: 27: Hoare triple {23242#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23328#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:41:38,626 INFO L290 TraceCheckUtils]: 28: Hoare triple {23328#(and (= 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; {23328#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:41:38,626 INFO L290 TraceCheckUtils]: 29: Hoare triple {23328#(and (= 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; {23335#(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-28 12:41:38,627 INFO L290 TraceCheckUtils]: 30: Hoare triple {23335#(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; {23335#(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-28 12:41:38,627 INFO L290 TraceCheckUtils]: 31: Hoare triple {23335#(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; {23342#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:41:38,627 INFO L290 TraceCheckUtils]: 32: Hoare triple {23342#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {23342#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:41:38,628 INFO L272 TraceCheckUtils]: 33: Hoare triple {23342#(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_~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)); {23242#true} is VALID [2022-04-28 12:41:38,628 INFO L290 TraceCheckUtils]: 34: Hoare triple {23242#true} ~cond := #in~cond; {23352#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:41:38,628 INFO L290 TraceCheckUtils]: 35: Hoare triple {23352#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:41:38,628 INFO L290 TraceCheckUtils]: 36: Hoare triple {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:41:38,629 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} {23342#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {23363#(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) (= main_~p~0 1))} is VALID [2022-04-28 12:41:38,629 INFO L272 TraceCheckUtils]: 38: Hoare triple {23363#(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) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:41:38,630 INFO L290 TraceCheckUtils]: 39: Hoare triple {23242#true} ~cond := #in~cond; {23352#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:41:38,630 INFO L290 TraceCheckUtils]: 40: Hoare triple {23352#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:41:38,630 INFO L290 TraceCheckUtils]: 41: Hoare triple {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:41:38,631 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} {23363#(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) (= main_~p~0 1))} #104#return; {23363#(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) (= main_~p~0 1))} is VALID [2022-04-28 12:41:38,631 INFO L272 TraceCheckUtils]: 43: Hoare triple {23363#(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) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:41:38,631 INFO L290 TraceCheckUtils]: 44: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:41:38,631 INFO L290 TraceCheckUtils]: 45: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:41:38,631 INFO L290 TraceCheckUtils]: 46: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:41:38,632 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23242#true} {23363#(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) (= main_~p~0 1))} #106#return; {23363#(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) (= main_~p~0 1))} is VALID [2022-04-28 12:41:38,632 INFO L272 TraceCheckUtils]: 48: Hoare triple {23363#(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) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:41:38,632 INFO L290 TraceCheckUtils]: 49: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:41:38,632 INFO L290 TraceCheckUtils]: 50: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:41:38,632 INFO L290 TraceCheckUtils]: 51: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:41:38,633 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23242#true} {23363#(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) (= main_~p~0 1))} #108#return; {23363#(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) (= main_~p~0 1))} is VALID [2022-04-28 12:41:38,633 INFO L290 TraceCheckUtils]: 53: Hoare triple {23363#(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) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {23363#(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) (= main_~p~0 1))} is VALID [2022-04-28 12:41:38,634 INFO L290 TraceCheckUtils]: 54: Hoare triple {23363#(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) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {23415#(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) (= main_~p~0 1))} is VALID [2022-04-28 12:41:38,634 INFO L290 TraceCheckUtils]: 55: Hoare triple {23415#(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) (= main_~p~0 1))} assume !false; {23415#(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) (= main_~p~0 1))} is VALID [2022-04-28 12:41:38,634 INFO L290 TraceCheckUtils]: 56: Hoare triple {23415#(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) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {23415#(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) (= main_~p~0 1))} is VALID [2022-04-28 12:41:38,635 INFO L290 TraceCheckUtils]: 57: Hoare triple {23415#(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) (= 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; {23425#(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)))} is VALID [2022-04-28 12:41:38,635 INFO L290 TraceCheckUtils]: 58: Hoare triple {23425#(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)))} assume !false; {23425#(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)))} is VALID [2022-04-28 12:41:38,636 INFO L290 TraceCheckUtils]: 59: Hoare triple {23425#(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)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23432#(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_~q~0 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:41:38,636 INFO L290 TraceCheckUtils]: 60: Hoare triple {23432#(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_~q~0 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {23432#(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_~q~0 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:41:38,637 INFO L290 TraceCheckUtils]: 61: Hoare triple {23432#(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_~q~0 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {23439#(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_~q~0 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:41:38,637 INFO L290 TraceCheckUtils]: 62: Hoare triple {23439#(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_~q~0 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {23439#(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_~q~0 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:41:38,637 INFO L272 TraceCheckUtils]: 63: Hoare triple {23439#(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_~q~0 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:41:38,637 INFO L290 TraceCheckUtils]: 64: Hoare triple {23242#true} ~cond := #in~cond; {23352#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:41:38,638 INFO L290 TraceCheckUtils]: 65: Hoare triple {23352#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:41:38,638 INFO L290 TraceCheckUtils]: 66: Hoare triple {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:41:38,639 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} {23439#(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_~q~0 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #102#return; {23458#(and (= main_~b~0 main_~v~0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:41:38,639 INFO L272 TraceCheckUtils]: 68: Hoare triple {23458#(and (= main_~b~0 main_~v~0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1) (= 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)); {23242#true} is VALID [2022-04-28 12:41:38,639 INFO L290 TraceCheckUtils]: 69: Hoare triple {23242#true} ~cond := #in~cond; {23352#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:41:38,640 INFO L290 TraceCheckUtils]: 70: Hoare triple {23352#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:41:38,640 INFO L290 TraceCheckUtils]: 71: Hoare triple {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:41:38,641 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} {23458#(and (= main_~b~0 main_~v~0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {23474#(and (= main_~b~0 main_~v~0) (= main_~x~0 (+ main_~c~0 main_~b~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_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:41:38,641 INFO L272 TraceCheckUtils]: 73: Hoare triple {23474#(and (= main_~b~0 main_~v~0) (= main_~x~0 (+ main_~c~0 main_~b~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_~q~0 1) (= 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)); {23242#true} is VALID [2022-04-28 12:41:38,641 INFO L290 TraceCheckUtils]: 74: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:41:38,641 INFO L290 TraceCheckUtils]: 75: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:41:38,641 INFO L290 TraceCheckUtils]: 76: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:41:38,642 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {23242#true} {23474#(and (= main_~b~0 main_~v~0) (= main_~x~0 (+ main_~c~0 main_~b~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_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {23474#(and (= main_~b~0 main_~v~0) (= main_~x~0 (+ main_~c~0 main_~b~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_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:41:38,642 INFO L272 TraceCheckUtils]: 78: Hoare triple {23474#(and (= main_~b~0 main_~v~0) (= main_~x~0 (+ main_~c~0 main_~b~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_~q~0 1) (= 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)); {23242#true} is VALID [2022-04-28 12:41:38,642 INFO L290 TraceCheckUtils]: 79: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:41:38,642 INFO L290 TraceCheckUtils]: 80: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:41:38,642 INFO L290 TraceCheckUtils]: 81: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:41:38,643 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {23242#true} {23474#(and (= main_~b~0 main_~v~0) (= main_~x~0 (+ main_~c~0 main_~b~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_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {23474#(and (= main_~b~0 main_~v~0) (= main_~x~0 (+ main_~c~0 main_~b~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_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:41:38,643 INFO L290 TraceCheckUtils]: 83: Hoare triple {23474#(and (= main_~b~0 main_~v~0) (= main_~x~0 (+ main_~c~0 main_~b~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_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {23474#(and (= main_~b~0 main_~v~0) (= main_~x~0 (+ main_~c~0 main_~b~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_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:41:38,644 INFO L290 TraceCheckUtils]: 84: Hoare triple {23474#(and (= main_~b~0 main_~v~0) (= main_~x~0 (+ main_~c~0 main_~b~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_~q~0 1) (= 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; {23511#(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_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:41:38,645 INFO L290 TraceCheckUtils]: 85: Hoare triple {23511#(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_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !false; {23511#(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_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:41:38,645 INFO L290 TraceCheckUtils]: 86: Hoare triple {23511#(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_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {23511#(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_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:41:38,648 INFO L290 TraceCheckUtils]: 87: Hoare triple {23511#(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_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) main_~x~0) (= main_~q~0 1) (= 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; {23521#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~y~0 (div (+ (- 1) main_~s~0) main_~q~0)) main_~y~0) 0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)))} is VALID [2022-04-28 12:41:38,648 INFO L290 TraceCheckUtils]: 88: Hoare triple {23521#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~y~0 (div (+ (- 1) main_~s~0) main_~q~0)) main_~y~0) 0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)))} assume !false; {23521#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~y~0 (div (+ (- 1) main_~s~0) main_~q~0)) main_~y~0) 0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)))} is VALID [2022-04-28 12:41:38,649 INFO L290 TraceCheckUtils]: 89: Hoare triple {23521#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~y~0 (div (+ (- 1) main_~s~0) main_~q~0)) main_~y~0) 0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23528#(and (= (+ (* main_~y~0 (div (+ (- 1) main_~s~0) main_~q~0)) main_~y~0) 0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)))} is VALID [2022-04-28 12:41:38,649 INFO L290 TraceCheckUtils]: 90: Hoare triple {23528#(and (= (+ (* main_~y~0 (div (+ (- 1) main_~s~0) main_~q~0)) main_~y~0) 0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)))} assume !false; {23528#(and (= (+ (* main_~y~0 (div (+ (- 1) main_~s~0) main_~q~0)) main_~y~0) 0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)))} is VALID [2022-04-28 12:41:38,650 INFO L290 TraceCheckUtils]: 91: Hoare triple {23528#(and (= (+ (* main_~y~0 (div (+ (- 1) main_~s~0) main_~q~0)) main_~y~0) 0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {23528#(and (= (+ (* main_~y~0 (div (+ (- 1) main_~s~0) main_~q~0)) main_~y~0) 0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)))} is VALID [2022-04-28 12:41:38,650 INFO L290 TraceCheckUtils]: 92: Hoare triple {23528#(and (= (+ (* main_~y~0 (div (+ (- 1) main_~s~0) main_~q~0)) main_~y~0) 0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)))} assume !false; {23528#(and (= (+ (* main_~y~0 (div (+ (- 1) main_~s~0) main_~q~0)) main_~y~0) 0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)))} is VALID [2022-04-28 12:41:38,650 INFO L272 TraceCheckUtils]: 93: Hoare triple {23528#(and (= (+ (* main_~y~0 (div (+ (- 1) main_~s~0) main_~q~0)) main_~y~0) 0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:41:38,650 INFO L290 TraceCheckUtils]: 94: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:41:38,650 INFO L290 TraceCheckUtils]: 95: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:41:38,650 INFO L290 TraceCheckUtils]: 96: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:41:38,651 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {23242#true} {23528#(and (= (+ (* main_~y~0 (div (+ (- 1) main_~s~0) main_~q~0)) main_~y~0) 0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)))} #102#return; {23528#(and (= (+ (* main_~y~0 (div (+ (- 1) main_~s~0) main_~q~0)) main_~y~0) 0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)))} is VALID [2022-04-28 12:41:38,652 INFO L272 TraceCheckUtils]: 98: Hoare triple {23528#(and (= (+ (* main_~y~0 (div (+ (- 1) main_~s~0) main_~q~0)) main_~y~0) 0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23556#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:41:38,652 INFO L290 TraceCheckUtils]: 99: Hoare triple {23556#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23560#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:41:38,653 INFO L290 TraceCheckUtils]: 100: Hoare triple {23560#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23243#false} is VALID [2022-04-28 12:41:38,653 INFO L290 TraceCheckUtils]: 101: Hoare triple {23243#false} assume !false; {23243#false} is VALID [2022-04-28 12:41:38,653 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 26 proven. 92 refuted. 0 times theorem prover too weak. 108 trivial. 0 not checked. [2022-04-28 12:41:38,653 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:42:45,527 INFO L290 TraceCheckUtils]: 101: Hoare triple {23243#false} assume !false; {23243#false} is VALID [2022-04-28 12:42:45,528 INFO L290 TraceCheckUtils]: 100: Hoare triple {23560#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23243#false} is VALID [2022-04-28 12:42:45,528 INFO L290 TraceCheckUtils]: 99: Hoare triple {23556#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23560#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:42:45,529 INFO L272 TraceCheckUtils]: 98: Hoare triple {23576#(= 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)); {23556#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:42:45,529 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {23242#true} {23576#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {23576#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:42:45,529 INFO L290 TraceCheckUtils]: 96: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:42:45,529 INFO L290 TraceCheckUtils]: 95: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:42:45,529 INFO L290 TraceCheckUtils]: 94: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:42:45,530 INFO L272 TraceCheckUtils]: 93: Hoare triple {23576#(= 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)); {23242#true} is VALID [2022-04-28 12:42:45,530 INFO L290 TraceCheckUtils]: 92: Hoare triple {23576#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {23576#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:42:45,530 INFO L290 TraceCheckUtils]: 91: Hoare triple {23576#(= 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; {23576#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:42:45,531 INFO L290 TraceCheckUtils]: 90: Hoare triple {23576#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {23576#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:42:45,531 INFO L290 TraceCheckUtils]: 89: Hoare triple {23576#(= 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; {23576#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:42:45,531 INFO L290 TraceCheckUtils]: 88: Hoare triple {23576#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {23576#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:42:47,533 WARN L290 TraceCheckUtils]: 87: Hoare triple {23610#(= (+ (* 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; {23576#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-28 12:42:47,534 INFO L290 TraceCheckUtils]: 86: Hoare triple {23610#(= (+ (* 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); {23610#(= (+ (* 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-28 12:42:47,534 INFO L290 TraceCheckUtils]: 85: Hoare triple {23610#(= (+ (* 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; {23610#(= (+ (* 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-28 12:42:47,721 INFO L290 TraceCheckUtils]: 84: Hoare triple {23620#(= (+ 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; {23610#(= (+ (* 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-28 12:42:47,722 INFO L290 TraceCheckUtils]: 83: Hoare triple {23620#(= (+ 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); {23620#(= (+ 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-28 12:42:47,722 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {23242#true} {23620#(= (+ 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; {23620#(= (+ 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-28 12:42:47,722 INFO L290 TraceCheckUtils]: 81: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:42:47,722 INFO L290 TraceCheckUtils]: 80: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:42:47,723 INFO L290 TraceCheckUtils]: 79: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:42:47,723 INFO L272 TraceCheckUtils]: 78: Hoare triple {23620#(= (+ 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)); {23242#true} is VALID [2022-04-28 12:42:47,723 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {23242#true} {23620#(= (+ 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; {23620#(= (+ 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-28 12:42:47,723 INFO L290 TraceCheckUtils]: 76: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:42:47,723 INFO L290 TraceCheckUtils]: 75: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:42:47,724 INFO L290 TraceCheckUtils]: 74: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:42:47,724 INFO L272 TraceCheckUtils]: 73: Hoare triple {23620#(= (+ 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)); {23242#true} is VALID [2022-04-28 12:42:47,724 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} {23657#(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; {23620#(= (+ 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-28 12:42:47,725 INFO L290 TraceCheckUtils]: 71: Hoare triple {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:42:47,725 INFO L290 TraceCheckUtils]: 70: Hoare triple {23667#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:42:47,725 INFO L290 TraceCheckUtils]: 69: Hoare triple {23242#true} ~cond := #in~cond; {23667#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:42:47,725 INFO L272 TraceCheckUtils]: 68: Hoare triple {23657#(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)); {23242#true} is VALID [2022-04-28 12:42:47,726 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} {23674#(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; {23657#(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-28 12:42:47,727 INFO L290 TraceCheckUtils]: 66: Hoare triple {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:42:47,727 INFO L290 TraceCheckUtils]: 65: Hoare triple {23667#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23356#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:42:47,727 INFO L290 TraceCheckUtils]: 64: Hoare triple {23242#true} ~cond := #in~cond; {23667#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:42:47,727 INFO L272 TraceCheckUtils]: 63: Hoare triple {23674#(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)); {23242#true} is VALID [2022-04-28 12:42:47,728 INFO L290 TraceCheckUtils]: 62: Hoare triple {23674#(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; {23674#(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-28 12:42:47,728 INFO L290 TraceCheckUtils]: 61: Hoare triple {23693#(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; {23674#(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-28 12:42:47,729 INFO L290 TraceCheckUtils]: 60: Hoare triple {23693#(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; {23693#(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-28 12:42:47,730 INFO L290 TraceCheckUtils]: 59: Hoare triple {23242#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23693#(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-28 12:42:47,730 INFO L290 TraceCheckUtils]: 58: Hoare triple {23242#true} assume !false; {23242#true} is VALID [2022-04-28 12:42:47,730 INFO L290 TraceCheckUtils]: 57: Hoare triple {23242#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; {23242#true} is VALID [2022-04-28 12:42:47,731 INFO L290 TraceCheckUtils]: 56: Hoare triple {23242#true} assume !(~c~0 >= ~b~0); {23242#true} is VALID [2022-04-28 12:42:47,731 INFO L290 TraceCheckUtils]: 55: Hoare triple {23242#true} assume !false; {23242#true} is VALID [2022-04-28 12:42:47,731 INFO L290 TraceCheckUtils]: 54: Hoare triple {23242#true} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {23242#true} is VALID [2022-04-28 12:42:47,731 INFO L290 TraceCheckUtils]: 53: Hoare triple {23242#true} assume !(~c~0 >= 2 * ~v~0); {23242#true} is VALID [2022-04-28 12:42:47,731 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23242#true} {23242#true} #108#return; {23242#true} is VALID [2022-04-28 12:42:47,731 INFO L290 TraceCheckUtils]: 51: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:42:47,731 INFO L290 TraceCheckUtils]: 50: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:42:47,731 INFO L290 TraceCheckUtils]: 49: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:42:47,731 INFO L272 TraceCheckUtils]: 48: Hoare triple {23242#true} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:42:47,731 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23242#true} {23242#true} #106#return; {23242#true} is VALID [2022-04-28 12:42:47,731 INFO L290 TraceCheckUtils]: 46: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:42:47,731 INFO L290 TraceCheckUtils]: 45: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:42:47,731 INFO L290 TraceCheckUtils]: 44: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:42:47,731 INFO L272 TraceCheckUtils]: 43: Hoare triple {23242#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:42:47,732 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23242#true} {23242#true} #104#return; {23242#true} is VALID [2022-04-28 12:42:47,732 INFO L290 TraceCheckUtils]: 41: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:42:47,732 INFO L290 TraceCheckUtils]: 40: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:42:47,732 INFO L290 TraceCheckUtils]: 39: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:42:47,732 INFO L272 TraceCheckUtils]: 38: Hoare triple {23242#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:42:47,732 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {23242#true} {23242#true} #102#return; {23242#true} is VALID [2022-04-28 12:42:47,732 INFO L290 TraceCheckUtils]: 36: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:42:47,732 INFO L290 TraceCheckUtils]: 35: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:42:47,732 INFO L290 TraceCheckUtils]: 34: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:42:47,732 INFO L272 TraceCheckUtils]: 33: Hoare triple {23242#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:42:47,732 INFO L290 TraceCheckUtils]: 32: Hoare triple {23242#true} assume !false; {23242#true} is VALID [2022-04-28 12:42:47,732 INFO L290 TraceCheckUtils]: 31: Hoare triple {23242#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {23242#true} is VALID [2022-04-28 12:42:47,732 INFO L290 TraceCheckUtils]: 30: Hoare triple {23242#true} assume !false; {23242#true} is VALID [2022-04-28 12:42:47,732 INFO L290 TraceCheckUtils]: 29: Hoare triple {23242#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {23242#true} is VALID [2022-04-28 12:42:47,733 INFO L290 TraceCheckUtils]: 28: Hoare triple {23242#true} assume !false; {23242#true} is VALID [2022-04-28 12:42:47,733 INFO L290 TraceCheckUtils]: 27: Hoare triple {23242#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23242#true} is VALID [2022-04-28 12:42:47,733 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {23242#true} {23242#true} #100#return; {23242#true} is VALID [2022-04-28 12:42:47,733 INFO L290 TraceCheckUtils]: 25: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:42:47,733 INFO L290 TraceCheckUtils]: 24: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:42:47,733 INFO L290 TraceCheckUtils]: 23: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:42:47,733 INFO L272 TraceCheckUtils]: 22: Hoare triple {23242#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:42:47,733 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {23242#true} {23242#true} #98#return; {23242#true} is VALID [2022-04-28 12:42:47,733 INFO L290 TraceCheckUtils]: 20: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:42:47,733 INFO L290 TraceCheckUtils]: 19: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:42:47,733 INFO L290 TraceCheckUtils]: 18: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:42:47,733 INFO L272 TraceCheckUtils]: 17: Hoare triple {23242#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:42:47,733 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23242#true} {23242#true} #96#return; {23242#true} is VALID [2022-04-28 12:42:47,733 INFO L290 TraceCheckUtils]: 15: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:42:47,734 INFO L290 TraceCheckUtils]: 14: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:42:47,734 INFO L290 TraceCheckUtils]: 13: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:42:47,734 INFO L272 TraceCheckUtils]: 12: Hoare triple {23242#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:42:47,734 INFO L290 TraceCheckUtils]: 11: Hoare triple {23242#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23242#true} is VALID [2022-04-28 12:42:47,734 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23242#true} {23242#true} #94#return; {23242#true} is VALID [2022-04-28 12:42:47,734 INFO L290 TraceCheckUtils]: 9: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:42:47,734 INFO L290 TraceCheckUtils]: 8: Hoare triple {23242#true} assume !(0 == ~cond); {23242#true} is VALID [2022-04-28 12:42:47,734 INFO L290 TraceCheckUtils]: 7: Hoare triple {23242#true} ~cond := #in~cond; {23242#true} is VALID [2022-04-28 12:42:47,734 INFO L272 TraceCheckUtils]: 6: Hoare triple {23242#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {23242#true} is VALID [2022-04-28 12:42:47,734 INFO L290 TraceCheckUtils]: 5: Hoare triple {23242#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; {23242#true} is VALID [2022-04-28 12:42:47,734 INFO L272 TraceCheckUtils]: 4: Hoare triple {23242#true} call #t~ret6 := main(); {23242#true} is VALID [2022-04-28 12:42:47,734 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23242#true} {23242#true} #112#return; {23242#true} is VALID [2022-04-28 12:42:47,734 INFO L290 TraceCheckUtils]: 2: Hoare triple {23242#true} assume true; {23242#true} is VALID [2022-04-28 12:42:47,734 INFO L290 TraceCheckUtils]: 1: Hoare triple {23242#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); {23242#true} is VALID [2022-04-28 12:42:47,734 INFO L272 TraceCheckUtils]: 0: Hoare triple {23242#true} call ULTIMATE.init(); {23242#true} is VALID [2022-04-28 12:42:47,735 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-28 12:42:47,735 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:42:47,735 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1936816257] [2022-04-28 12:42:47,735 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:42:47,735 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [940016058] [2022-04-28 12:42:47,735 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [940016058] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:42:47,735 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:42:47,735 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 12] total 26 [2022-04-28 12:42:47,736 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:42:47,736 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1072440393] [2022-04-28 12:42:47,736 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1072440393] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:42:47,736 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:42:47,736 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 12:42:47,737 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [563656319] [2022-04-28 12:42:47,737 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:42:47,737 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 2.3333333333333335) internal successors, (42), 17 states have internal predecessors, (42), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) Word has length 102 [2022-04-28 12:42:47,737 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:42:47,737 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 18 states have (on average 2.3333333333333335) internal successors, (42), 17 states have internal predecessors, (42), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-28 12:42:47,809 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-28 12:42:47,809 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 12:42:47,809 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:47,809 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 12:42:47,809 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=99, Invalid=551, Unknown=0, NotChecked=0, Total=650 [2022-04-28 12:42:47,810 INFO L87 Difference]: Start difference. First operand 395 states and 555 transitions. Second operand has 19 states, 18 states have (on average 2.3333333333333335) internal successors, (42), 17 states have internal predecessors, (42), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-28 12:42:52,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:52,362 INFO L93 Difference]: Finished difference Result 470 states and 646 transitions. [2022-04-28 12:42:52,363 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 12:42:52,363 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 2.3333333333333335) internal successors, (42), 17 states have internal predecessors, (42), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) Word has length 102 [2022-04-28 12:42:52,363 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:42:52,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 2.3333333333333335) internal successors, (42), 17 states have internal predecessors, (42), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-28 12:42:52,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 163 transitions. [2022-04-28 12:42:52,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 2.3333333333333335) internal successors, (42), 17 states have internal predecessors, (42), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-28 12:42:52,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 163 transitions. [2022-04-28 12:42:52,366 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 163 transitions. [2022-04-28 12:42:52,581 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 163 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:52,603 INFO L225 Difference]: With dead ends: 470 [2022-04-28 12:42:52,603 INFO L226 Difference]: Without dead ends: 468 [2022-04-28 12:42:52,604 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 208 GetRequests, 178 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 191 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=137, Invalid=793, Unknown=0, NotChecked=0, Total=930 [2022-04-28 12:42:52,604 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 66 mSDsluCounter, 395 mSDsCounter, 0 mSdLazyCounter, 1055 mSolverCounterSat, 43 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 92 SdHoareTripleChecker+Valid, 444 SdHoareTripleChecker+Invalid, 1098 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 43 IncrementalHoareTripleChecker+Valid, 1055 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:42:52,604 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [92 Valid, 444 Invalid, 1098 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [43 Valid, 1055 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-28 12:42:52,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 468 states. [2022-04-28 12:42:53,700 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 468 to 407. [2022-04-28 12:42:53,700 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:42:53,701 INFO L82 GeneralOperation]: Start isEquivalent. First operand 468 states. Second operand has 407 states, 234 states have (on average 1.1965811965811965) internal successors, (280), 235 states have internal predecessors, (280), 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-28 12:42:53,702 INFO L74 IsIncluded]: Start isIncluded. First operand 468 states. Second operand has 407 states, 234 states have (on average 1.1965811965811965) internal successors, (280), 235 states have internal predecessors, (280), 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-28 12:42:53,702 INFO L87 Difference]: Start difference. First operand 468 states. Second operand has 407 states, 234 states have (on average 1.1965811965811965) internal successors, (280), 235 states have internal predecessors, (280), 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-28 12:42:53,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:53,716 INFO L93 Difference]: Finished difference Result 468 states and 644 transitions. [2022-04-28 12:42:53,716 INFO L276 IsEmpty]: Start isEmpty. Operand 468 states and 644 transitions. [2022-04-28 12:42:53,717 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:53,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:53,718 INFO L74 IsIncluded]: Start isIncluded. First operand has 407 states, 234 states have (on average 1.1965811965811965) internal successors, (280), 235 states have internal predecessors, (280), 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 468 states. [2022-04-28 12:42:53,719 INFO L87 Difference]: Start difference. First operand has 407 states, 234 states have (on average 1.1965811965811965) internal successors, (280), 235 states have internal predecessors, (280), 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 468 states. [2022-04-28 12:42:53,729 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:42:53,729 INFO L93 Difference]: Finished difference Result 468 states and 644 transitions. [2022-04-28 12:42:53,729 INFO L276 IsEmpty]: Start isEmpty. Operand 468 states and 644 transitions. [2022-04-28 12:42:53,730 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:42:53,730 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:42:53,730 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:42:53,730 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:42:53,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 407 states, 234 states have (on average 1.1965811965811965) internal successors, (280), 235 states have internal predecessors, (280), 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-28 12:42:53,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 407 states to 407 states and 564 transitions. [2022-04-28 12:42:53,741 INFO L78 Accepts]: Start accepts. Automaton has 407 states and 564 transitions. Word has length 102 [2022-04-28 12:42:53,741 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:42:53,741 INFO L495 AbstractCegarLoop]: Abstraction has 407 states and 564 transitions. [2022-04-28 12:42:53,741 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 18 states have (on average 2.3333333333333335) internal successors, (42), 17 states have internal predecessors, (42), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 7 states have call successors, (14) [2022-04-28 12:42:53,741 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 407 states and 564 transitions. [2022-04-28 12:42:55,660 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 564 edges. 564 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:42:55,660 INFO L276 IsEmpty]: Start isEmpty. Operand 407 states and 564 transitions. [2022-04-28 12:42:55,661 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-28 12:42:55,661 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:42:55,661 INFO L195 NwaCegarLoop]: 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-28 12:42:55,677 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 12:42:55,867 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 12:42:55,867 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:42:55,868 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:42:55,868 INFO L85 PathProgramCache]: Analyzing trace with hash -1948981098, now seen corresponding path program 5 times [2022-04-28 12:42:55,868 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:42:55,868 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [946978665] [2022-04-28 12:42:55,868 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:42:55,868 INFO L85 PathProgramCache]: Analyzing trace with hash -1948981098, now seen corresponding path program 6 times [2022-04-28 12:42:55,868 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:42:55,870 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2041870066] [2022-04-28 12:42:55,871 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:42:55,871 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:42:55,898 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:42:55,898 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [779435793] [2022-04-28 12:42:55,899 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:42:55,899 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:42:55,899 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:42:55,900 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:42:55,901 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 12:42:56,046 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 12:42:56,046 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:42:56,048 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-28 12:42:56,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:42:56,066 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:43:28,690 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:43:34,753 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:43:35,011 INFO L272 TraceCheckUtils]: 0: Hoare triple {26579#true} call ULTIMATE.init(); {26579#true} is VALID [2022-04-28 12:43:35,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {26579#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); {26579#true} is VALID [2022-04-28 12:43:35,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {26579#true} assume true; {26579#true} is VALID [2022-04-28 12:43:35,012 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26579#true} {26579#true} #112#return; {26579#true} is VALID [2022-04-28 12:43:35,012 INFO L272 TraceCheckUtils]: 4: Hoare triple {26579#true} call #t~ret6 := main(); {26579#true} is VALID [2022-04-28 12:43:35,012 INFO L290 TraceCheckUtils]: 5: Hoare triple {26579#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; {26579#true} is VALID [2022-04-28 12:43:35,012 INFO L272 TraceCheckUtils]: 6: Hoare triple {26579#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {26579#true} is VALID [2022-04-28 12:43:35,012 INFO L290 TraceCheckUtils]: 7: Hoare triple {26579#true} ~cond := #in~cond; {26579#true} is VALID [2022-04-28 12:43:35,012 INFO L290 TraceCheckUtils]: 8: Hoare triple {26579#true} assume !(0 == ~cond); {26579#true} is VALID [2022-04-28 12:43:35,012 INFO L290 TraceCheckUtils]: 9: Hoare triple {26579#true} assume true; {26579#true} is VALID [2022-04-28 12:43:35,012 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26579#true} {26579#true} #94#return; {26579#true} is VALID [2022-04-28 12:43:35,012 INFO L290 TraceCheckUtils]: 11: Hoare triple {26579#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {26579#true} is VALID [2022-04-28 12:43:35,013 INFO L272 TraceCheckUtils]: 12: Hoare triple {26579#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {26579#true} is VALID [2022-04-28 12:43:35,013 INFO L290 TraceCheckUtils]: 13: Hoare triple {26579#true} ~cond := #in~cond; {26579#true} is VALID [2022-04-28 12:43:35,013 INFO L290 TraceCheckUtils]: 14: Hoare triple {26579#true} assume !(0 == ~cond); {26579#true} is VALID [2022-04-28 12:43:35,013 INFO L290 TraceCheckUtils]: 15: Hoare triple {26579#true} assume true; {26579#true} is VALID [2022-04-28 12:43:35,013 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {26579#true} {26579#true} #96#return; {26579#true} is VALID [2022-04-28 12:43:35,013 INFO L272 TraceCheckUtils]: 17: Hoare triple {26579#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {26579#true} is VALID [2022-04-28 12:43:35,013 INFO L290 TraceCheckUtils]: 18: Hoare triple {26579#true} ~cond := #in~cond; {26579#true} is VALID [2022-04-28 12:43:35,013 INFO L290 TraceCheckUtils]: 19: Hoare triple {26579#true} assume !(0 == ~cond); {26579#true} is VALID [2022-04-28 12:43:35,013 INFO L290 TraceCheckUtils]: 20: Hoare triple {26579#true} assume true; {26579#true} is VALID [2022-04-28 12:43:35,013 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {26579#true} {26579#true} #98#return; {26579#true} is VALID [2022-04-28 12:43:35,013 INFO L272 TraceCheckUtils]: 22: Hoare triple {26579#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {26579#true} is VALID [2022-04-28 12:43:35,013 INFO L290 TraceCheckUtils]: 23: Hoare triple {26579#true} ~cond := #in~cond; {26579#true} is VALID [2022-04-28 12:43:35,013 INFO L290 TraceCheckUtils]: 24: Hoare triple {26579#true} assume !(0 == ~cond); {26579#true} is VALID [2022-04-28 12:43:35,013 INFO L290 TraceCheckUtils]: 25: Hoare triple {26579#true} assume true; {26579#true} is VALID [2022-04-28 12:43:35,014 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {26579#true} {26579#true} #100#return; {26579#true} is VALID [2022-04-28 12:43:35,014 INFO L290 TraceCheckUtils]: 27: Hoare triple {26579#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {26665#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:43:35,014 INFO L290 TraceCheckUtils]: 28: Hoare triple {26665#(and (= 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; {26665#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:43:35,015 INFO L290 TraceCheckUtils]: 29: Hoare triple {26665#(and (= 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; {26672#(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-28 12:43:35,015 INFO L290 TraceCheckUtils]: 30: Hoare triple {26672#(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; {26672#(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-28 12:43:35,015 INFO L290 TraceCheckUtils]: 31: Hoare triple {26672#(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; {26672#(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-28 12:43:35,016 INFO L290 TraceCheckUtils]: 32: Hoare triple {26672#(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; {26672#(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-28 12:43:35,016 INFO L272 TraceCheckUtils]: 33: Hoare triple {26672#(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)); {26579#true} is VALID [2022-04-28 12:43:35,016 INFO L290 TraceCheckUtils]: 34: Hoare triple {26579#true} ~cond := #in~cond; {26579#true} is VALID [2022-04-28 12:43:35,016 INFO L290 TraceCheckUtils]: 35: Hoare triple {26579#true} assume !(0 == ~cond); {26579#true} is VALID [2022-04-28 12:43:35,016 INFO L290 TraceCheckUtils]: 36: Hoare triple {26579#true} assume true; {26579#true} is VALID [2022-04-28 12:43:35,017 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {26579#true} {26672#(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; {26672#(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-28 12:43:35,017 INFO L272 TraceCheckUtils]: 38: Hoare triple {26672#(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)); {26579#true} is VALID [2022-04-28 12:43:35,018 INFO L290 TraceCheckUtils]: 39: Hoare triple {26579#true} ~cond := #in~cond; {26703#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:43:35,018 INFO L290 TraceCheckUtils]: 40: Hoare triple {26703#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26707#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:43:35,018 INFO L290 TraceCheckUtils]: 41: Hoare triple {26707#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26707#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:43:35,019 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {26707#(not (= |__VERIFIER_assert_#in~cond| 0))} {26672#(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; {26672#(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-28 12:43:35,019 INFO L272 TraceCheckUtils]: 43: Hoare triple {26672#(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)); {26579#true} is VALID [2022-04-28 12:43:35,019 INFO L290 TraceCheckUtils]: 44: Hoare triple {26579#true} ~cond := #in~cond; {26579#true} is VALID [2022-04-28 12:43:35,019 INFO L290 TraceCheckUtils]: 45: Hoare triple {26579#true} assume !(0 == ~cond); {26579#true} is VALID [2022-04-28 12:43:35,019 INFO L290 TraceCheckUtils]: 46: Hoare triple {26579#true} assume true; {26579#true} is VALID [2022-04-28 12:43:35,020 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {26579#true} {26672#(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; {26672#(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-28 12:43:35,020 INFO L272 TraceCheckUtils]: 48: Hoare triple {26672#(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)); {26579#true} is VALID [2022-04-28 12:43:35,020 INFO L290 TraceCheckUtils]: 49: Hoare triple {26579#true} ~cond := #in~cond; {26579#true} is VALID [2022-04-28 12:43:35,020 INFO L290 TraceCheckUtils]: 50: Hoare triple {26579#true} assume !(0 == ~cond); {26579#true} is VALID [2022-04-28 12:43:35,020 INFO L290 TraceCheckUtils]: 51: Hoare triple {26579#true} assume true; {26579#true} is VALID [2022-04-28 12:43:35,021 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {26579#true} {26672#(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; {26672#(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-28 12:43:35,021 INFO L290 TraceCheckUtils]: 53: Hoare triple {26672#(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; {26672#(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-28 12:43:35,022 INFO L290 TraceCheckUtils]: 54: Hoare triple {26672#(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; {26672#(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-28 12:43:35,022 INFO L272 TraceCheckUtils]: 55: Hoare triple {26672#(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)); {26579#true} is VALID [2022-04-28 12:43:35,022 INFO L290 TraceCheckUtils]: 56: Hoare triple {26579#true} ~cond := #in~cond; {26579#true} is VALID [2022-04-28 12:43:35,022 INFO L290 TraceCheckUtils]: 57: Hoare triple {26579#true} assume !(0 == ~cond); {26579#true} is VALID [2022-04-28 12:43:35,022 INFO L290 TraceCheckUtils]: 58: Hoare triple {26579#true} assume true; {26579#true} is VALID [2022-04-28 12:43:35,023 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {26579#true} {26672#(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; {26672#(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-28 12:43:35,023 INFO L272 TraceCheckUtils]: 60: Hoare triple {26672#(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)); {26579#true} is VALID [2022-04-28 12:43:35,023 INFO L290 TraceCheckUtils]: 61: Hoare triple {26579#true} ~cond := #in~cond; {26579#true} is VALID [2022-04-28 12:43:35,023 INFO L290 TraceCheckUtils]: 62: Hoare triple {26579#true} assume !(0 == ~cond); {26579#true} is VALID [2022-04-28 12:43:35,023 INFO L290 TraceCheckUtils]: 63: Hoare triple {26579#true} assume true; {26579#true} is VALID [2022-04-28 12:43:35,024 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {26579#true} {26672#(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; {26672#(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-28 12:43:35,024 INFO L272 TraceCheckUtils]: 65: Hoare triple {26672#(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)); {26579#true} is VALID [2022-04-28 12:43:35,024 INFO L290 TraceCheckUtils]: 66: Hoare triple {26579#true} ~cond := #in~cond; {26579#true} is VALID [2022-04-28 12:43:35,024 INFO L290 TraceCheckUtils]: 67: Hoare triple {26579#true} assume !(0 == ~cond); {26579#true} is VALID [2022-04-28 12:43:35,024 INFO L290 TraceCheckUtils]: 68: Hoare triple {26579#true} assume true; {26579#true} is VALID [2022-04-28 12:43:35,024 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {26579#true} {26672#(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; {26672#(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-28 12:43:35,025 INFO L272 TraceCheckUtils]: 70: Hoare triple {26672#(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)); {26579#true} is VALID [2022-04-28 12:43:35,025 INFO L290 TraceCheckUtils]: 71: Hoare triple {26579#true} ~cond := #in~cond; {26579#true} is VALID [2022-04-28 12:43:35,025 INFO L290 TraceCheckUtils]: 72: Hoare triple {26579#true} assume !(0 == ~cond); {26579#true} is VALID [2022-04-28 12:43:35,025 INFO L290 TraceCheckUtils]: 73: Hoare triple {26579#true} assume true; {26579#true} is VALID [2022-04-28 12:43:35,025 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {26579#true} {26672#(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; {26672#(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-28 12:43:35,026 INFO L290 TraceCheckUtils]: 75: Hoare triple {26672#(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; {26672#(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-28 12:43:35,026 INFO L290 TraceCheckUtils]: 76: Hoare triple {26672#(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; {26672#(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-28 12:43:35,026 INFO L272 TraceCheckUtils]: 77: Hoare triple {26672#(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)); {26579#true} is VALID [2022-04-28 12:43:35,026 INFO L290 TraceCheckUtils]: 78: Hoare triple {26579#true} ~cond := #in~cond; {26579#true} is VALID [2022-04-28 12:43:35,026 INFO L290 TraceCheckUtils]: 79: Hoare triple {26579#true} assume !(0 == ~cond); {26579#true} is VALID [2022-04-28 12:43:35,026 INFO L290 TraceCheckUtils]: 80: Hoare triple {26579#true} assume true; {26579#true} is VALID [2022-04-28 12:43:35,027 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {26579#true} {26672#(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; {26672#(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-28 12:43:35,027 INFO L272 TraceCheckUtils]: 82: Hoare triple {26672#(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)); {26579#true} is VALID [2022-04-28 12:43:35,027 INFO L290 TraceCheckUtils]: 83: Hoare triple {26579#true} ~cond := #in~cond; {26579#true} is VALID [2022-04-28 12:43:35,027 INFO L290 TraceCheckUtils]: 84: Hoare triple {26579#true} assume !(0 == ~cond); {26579#true} is VALID [2022-04-28 12:43:35,027 INFO L290 TraceCheckUtils]: 85: Hoare triple {26579#true} assume true; {26579#true} is VALID [2022-04-28 12:43:35,028 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {26579#true} {26672#(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; {26672#(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-28 12:43:35,028 INFO L272 TraceCheckUtils]: 87: Hoare triple {26672#(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)); {26579#true} is VALID [2022-04-28 12:43:35,028 INFO L290 TraceCheckUtils]: 88: Hoare triple {26579#true} ~cond := #in~cond; {26579#true} is VALID [2022-04-28 12:43:35,028 INFO L290 TraceCheckUtils]: 89: Hoare triple {26579#true} assume !(0 == ~cond); {26579#true} is VALID [2022-04-28 12:43:35,028 INFO L290 TraceCheckUtils]: 90: Hoare triple {26579#true} assume true; {26579#true} is VALID [2022-04-28 12:43:35,029 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {26579#true} {26672#(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; {26672#(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-28 12:43:35,029 INFO L272 TraceCheckUtils]: 92: Hoare triple {26672#(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)); {26579#true} is VALID [2022-04-28 12:43:35,029 INFO L290 TraceCheckUtils]: 93: Hoare triple {26579#true} ~cond := #in~cond; {26703#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:43:35,030 INFO L290 TraceCheckUtils]: 94: Hoare triple {26703#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26707#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:43:35,030 INFO L290 TraceCheckUtils]: 95: Hoare triple {26707#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26707#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:43:35,031 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {26707#(not (= |__VERIFIER_assert_#in~cond| 0))} {26672#(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; {26876#(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-28 12:43:35,031 INFO L290 TraceCheckUtils]: 97: Hoare triple {26876#(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); {26880#(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) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:43:35,034 INFO L290 TraceCheckUtils]: 98: Hoare triple {26880#(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) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {26884#(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) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} is VALID [2022-04-28 12:43:35,035 INFO L290 TraceCheckUtils]: 99: Hoare triple {26884#(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) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} assume !false; {26884#(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) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} is VALID [2022-04-28 12:43:35,035 INFO L290 TraceCheckUtils]: 100: Hoare triple {26884#(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) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {26884#(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) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} is VALID [2022-04-28 12:43:35,038 INFO L290 TraceCheckUtils]: 101: Hoare triple {26884#(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) (not (<= main_~x~0 (* main_~c~0 2))) (= 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; {26894#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1) (= (+ (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~b~0) main_~x~0))} is VALID [2022-04-28 12:43:35,038 INFO L290 TraceCheckUtils]: 102: Hoare triple {26894#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1) (= (+ (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~b~0) main_~x~0))} assume !false; {26894#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1) (= (+ (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~b~0) main_~x~0))} is VALID [2022-04-28 12:43:35,039 INFO L290 TraceCheckUtils]: 103: Hoare triple {26894#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1) (= (+ (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~b~0) main_~x~0))} assume !(0 != ~b~0); {26901#(and (= main_~p~0 0) (= (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= main_~q~0 1))} is VALID [2022-04-28 12:43:35,042 INFO L272 TraceCheckUtils]: 104: Hoare triple {26901#(and (= main_~p~0 0) (= (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~s~0) main_~r~0)) 2)) (= 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)); {26905#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:43:35,042 INFO L290 TraceCheckUtils]: 105: Hoare triple {26905#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {26909#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:43:35,043 INFO L290 TraceCheckUtils]: 106: Hoare triple {26909#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {26580#false} is VALID [2022-04-28 12:43:35,043 INFO L290 TraceCheckUtils]: 107: Hoare triple {26580#false} assume !false; {26580#false} is VALID [2022-04-28 12:43:35,043 INFO L134 CoverageAnalysis]: Checked inductivity of 334 backedges. 57 proven. 33 refuted. 0 times theorem prover too weak. 244 trivial. 0 not checked. [2022-04-28 12:43:35,043 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:43:47,059 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:47:10,945 WARN L855 $PredicateComparison]: unable to prove that (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (forall ((v_main_~b~0_BEFORE_CALL_117 Int) (v_main_~q~0_BEFORE_CALL_90 Int) (v_main_~r~0_BEFORE_CALL_82 Int) (v_main_~y~0_BEFORE_CALL_118 Int) (v_main_~s~0_BEFORE_CALL_94 Int) (v_main_~p~0_BEFORE_CALL_82 Int) (v_main_~k~0_BEFORE_CALL_74 Int) (v_main_~x~0_BEFORE_CALL_111 Int) (v_main_~d~0_BEFORE_CALL_70 Int)) (let ((.cse0 (* v_main_~d~0_BEFORE_CALL_70 v_main_~b~0_BEFORE_CALL_117))) (or (= (mod .cse0 v_main_~b~0_BEFORE_CALL_117) 0) (= (+ (* v_main_~p~0_BEFORE_CALL_82 v_main_~x~0_BEFORE_CALL_111) v_main_~b~0_BEFORE_CALL_117 (* v_main_~r~0_BEFORE_CALL_82 v_main_~y~0_BEFORE_CALL_118)) (+ (* v_main_~y~0_BEFORE_CALL_118 v_main_~k~0_BEFORE_CALL_74 v_main_~s~0_BEFORE_CALL_94) (* v_main_~q~0_BEFORE_CALL_90 v_main_~d~0_BEFORE_CALL_70 v_main_~x~0_BEFORE_CALL_111) (* v_main_~d~0_BEFORE_CALL_70 v_main_~y~0_BEFORE_CALL_118 v_main_~s~0_BEFORE_CALL_94) (* v_main_~y~0_BEFORE_CALL_118 v_main_~s~0_BEFORE_CALL_94) (* v_main_~q~0_BEFORE_CALL_90 v_main_~x~0_BEFORE_CALL_111 v_main_~k~0_BEFORE_CALL_74) (* v_main_~q~0_BEFORE_CALL_90 v_main_~x~0_BEFORE_CALL_111))) (<= .cse0 0)))) (not (= |c___VERIFIER_assert_#in~cond| 1)))) is different from true [2022-04-28 12:48:07,559 WARN L855 $PredicateComparison]: unable to prove that (or (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (forall ((v_main_~b~0_BEFORE_CALL_117 Int) (v_main_~q~0_BEFORE_CALL_90 Int) (v_main_~r~0_BEFORE_CALL_82 Int) (v_main_~y~0_BEFORE_CALL_118 Int) (v_main_~s~0_BEFORE_CALL_94 Int) (v_main_~p~0_BEFORE_CALL_82 Int) (v_main_~k~0_BEFORE_CALL_74 Int) (v_main_~x~0_BEFORE_CALL_111 Int) (v_main_~d~0_BEFORE_CALL_70 Int)) (let ((.cse0 (* v_main_~d~0_BEFORE_CALL_70 v_main_~b~0_BEFORE_CALL_117))) (or (= (mod .cse0 v_main_~b~0_BEFORE_CALL_117) 0) (= (+ (* v_main_~p~0_BEFORE_CALL_82 v_main_~x~0_BEFORE_CALL_111) v_main_~b~0_BEFORE_CALL_117 (* v_main_~r~0_BEFORE_CALL_82 v_main_~y~0_BEFORE_CALL_118)) (+ (* v_main_~y~0_BEFORE_CALL_118 v_main_~k~0_BEFORE_CALL_74 v_main_~s~0_BEFORE_CALL_94) (* v_main_~q~0_BEFORE_CALL_90 v_main_~d~0_BEFORE_CALL_70 v_main_~x~0_BEFORE_CALL_111) (* v_main_~d~0_BEFORE_CALL_70 v_main_~y~0_BEFORE_CALL_118 v_main_~s~0_BEFORE_CALL_94) (* v_main_~y~0_BEFORE_CALL_118 v_main_~s~0_BEFORE_CALL_94) (* v_main_~q~0_BEFORE_CALL_90 v_main_~x~0_BEFORE_CALL_111 v_main_~k~0_BEFORE_CALL_74) (* v_main_~q~0_BEFORE_CALL_90 v_main_~x~0_BEFORE_CALL_111))) (<= .cse0 0)))) (not (= |c___VERIFIER_assert_#in~cond| 1)))) (= c___VERIFIER_assert_~cond 0)) is different from true [2022-04-28 12:48:38,496 WARN L855 $PredicateComparison]: unable to prove that (or (forall ((v_main_~b~0_BEFORE_CALL_117 Int) (v_main_~q~0_BEFORE_CALL_90 Int) (v_main_~r~0_BEFORE_CALL_82 Int) (v_main_~y~0_BEFORE_CALL_118 Int) (v_main_~s~0_BEFORE_CALL_94 Int) (v_main_~p~0_BEFORE_CALL_82 Int) (v_main_~k~0_BEFORE_CALL_74 Int) (v_main_~x~0_BEFORE_CALL_111 Int) (v_main_~d~0_BEFORE_CALL_70 Int)) (let ((.cse0 (* v_main_~d~0_BEFORE_CALL_70 v_main_~b~0_BEFORE_CALL_117))) (or (= (mod .cse0 v_main_~b~0_BEFORE_CALL_117) 0) (= (+ (* v_main_~p~0_BEFORE_CALL_82 v_main_~x~0_BEFORE_CALL_111) v_main_~b~0_BEFORE_CALL_117 (* v_main_~r~0_BEFORE_CALL_82 v_main_~y~0_BEFORE_CALL_118)) (+ (* v_main_~y~0_BEFORE_CALL_118 v_main_~k~0_BEFORE_CALL_74 v_main_~s~0_BEFORE_CALL_94) (* v_main_~q~0_BEFORE_CALL_90 v_main_~d~0_BEFORE_CALL_70 v_main_~x~0_BEFORE_CALL_111) (* v_main_~d~0_BEFORE_CALL_70 v_main_~y~0_BEFORE_CALL_118 v_main_~s~0_BEFORE_CALL_94) (* v_main_~y~0_BEFORE_CALL_118 v_main_~s~0_BEFORE_CALL_94) (* v_main_~q~0_BEFORE_CALL_90 v_main_~x~0_BEFORE_CALL_111 v_main_~k~0_BEFORE_CALL_74) (* v_main_~q~0_BEFORE_CALL_90 v_main_~x~0_BEFORE_CALL_111))) (<= .cse0 0)))) (not (= |c___VERIFIER_assert_#in~cond| 1))) is different from true