/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/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 05:36:01,899 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 05:36:01,900 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 05:36:01,925 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 05:36:01,926 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 05:36:01,927 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 05:36:01,929 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 05:36:01,944 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 05:36:01,945 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 05:36:01,946 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 05:36:01,946 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 05:36:01,947 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 05:36:01,947 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 05:36:01,951 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 05:36:01,952 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 05:36:01,955 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 05:36:01,955 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 05:36:01,956 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 05:36:01,957 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 05:36:01,962 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 05:36:01,964 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 05:36:01,965 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 05:36:01,965 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 05:36:01,966 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 05:36:01,967 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 05:36:01,972 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 05:36:01,972 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 05:36:01,972 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 05:36:01,973 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 05:36:01,973 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 05:36:01,974 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 05:36:01,974 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 05:36:01,976 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 05:36:01,976 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 05:36:01,976 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 05:36:01,977 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 05:36:01,977 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 05:36:01,977 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 05:36:01,978 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 05:36:01,978 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 05:36:01,978 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 05:36:01,979 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 05:36:01,980 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 05:36:01,990 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 05:36:01,990 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 05:36:01,991 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 05:36:01,991 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 05:36:01,991 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 05:36:01,991 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 05:36:01,991 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 05:36:01,992 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 05:36:01,992 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 05:36:01,992 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 05:36:01,992 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 05:36:01,992 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 05:36:01,993 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 05:36:01,993 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 05:36:01,993 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 05:36:01,993 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 05:36:01,993 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 05:36:01,993 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 05:36:01,993 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 05:36:01,993 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 05:36:01,993 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 05:36:01,993 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 05:36:01,993 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 05:36:01,994 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 05:36:01,994 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 05:36:01,994 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 05:36:02,184 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 05:36:02,201 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 05:36:02,203 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 05:36:02,204 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 05:36:02,204 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 05:36:02,210 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound5.c [2022-04-28 05:36:02,256 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7eb0a1169/4b1f2a7e1ad849cb99a5b436ab716eec/FLAG502edf9ea [2022-04-28 05:36:02,574 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 05:36:02,574 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound5.c [2022-04-28 05:36:02,583 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7eb0a1169/4b1f2a7e1ad849cb99a5b436ab716eec/FLAG502edf9ea [2022-04-28 05:36:03,002 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7eb0a1169/4b1f2a7e1ad849cb99a5b436ab716eec [2022-04-28 05:36:03,004 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 05:36:03,008 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 05:36:03,011 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 05:36:03,011 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 05:36:03,014 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 05:36:03,015 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 05:36:03" (1/1) ... [2022-04-28 05:36:03,016 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1631e19b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:36:03, skipping insertion in model container [2022-04-28 05:36:03,016 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 05:36:03" (1/1) ... [2022-04-28 05:36:03,020 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 05:36:03,029 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 05:36:03,143 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound5.c[489,502] [2022-04-28 05:36:03,167 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 05:36:03,174 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 05:36:03,183 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound5.c[489,502] [2022-04-28 05:36:03,189 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 05:36:03,198 INFO L208 MainTranslator]: Completed translation [2022-04-28 05:36:03,199 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:36:03 WrapperNode [2022-04-28 05:36:03,199 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 05:36:03,200 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 05:36:03,200 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 05:36:03,200 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 05:36:03,211 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:36:03" (1/1) ... [2022-04-28 05:36:03,211 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:36:03" (1/1) ... [2022-04-28 05:36:03,217 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:36:03" (1/1) ... [2022-04-28 05:36:03,218 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:36:03" (1/1) ... [2022-04-28 05:36:03,234 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:36:03" (1/1) ... [2022-04-28 05:36:03,239 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:36:03" (1/1) ... [2022-04-28 05:36:03,243 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:36:03" (1/1) ... [2022-04-28 05:36:03,245 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 05:36:03,245 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 05:36:03,246 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 05:36:03,246 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 05:36:03,250 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:36:03" (1/1) ... [2022-04-28 05:36:03,275 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 05:36:03,285 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:36:03,294 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 05:36:03,304 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 05:36:03,322 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 05:36:03,322 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 05:36:03,322 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 05:36:03,322 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 05:36:03,322 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 05:36:03,323 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 05:36:03,323 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 05:36:03,323 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 05:36:03,323 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 05:36:03,323 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 05:36:03,323 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 05:36:03,323 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 05:36:03,323 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 05:36:03,323 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 05:36:03,323 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 05:36:03,323 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 05:36:03,323 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 05:36:03,324 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 05:36:03,324 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 05:36:03,324 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 05:36:03,370 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 05:36:03,371 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 05:36:03,540 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 05:36:03,545 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 05:36:03,545 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 05:36:03,547 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 05:36:03 BoogieIcfgContainer [2022-04-28 05:36:03,547 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 05:36:03,548 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 05:36:03,548 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 05:36:03,553 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 05:36:03,554 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 05:36:03" (1/3) ... [2022-04-28 05:36:03,554 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@58407cf1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 05:36:03, skipping insertion in model container [2022-04-28 05:36:03,554 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:36:03" (2/3) ... [2022-04-28 05:36:03,554 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@58407cf1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 05:36:03, skipping insertion in model container [2022-04-28 05:36:03,554 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 05:36:03" (3/3) ... [2022-04-28 05:36:03,555 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound5.c [2022-04-28 05:36:03,565 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 05:36:03,566 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 05:36:03,600 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 05:36:03,605 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@1d59bc2, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@2a40bdf4 [2022-04-28 05:36:03,605 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 05:36:03,612 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:36:03,618 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 05:36:03,618 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:36:03,618 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 05:36:03,619 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:36:03,622 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:36:03,622 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 1 times [2022-04-28 05:36:03,628 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:03,628 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1994596967] [2022-04-28 05:36:03,635 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:36:03,636 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 2 times [2022-04-28 05:36:03,638 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:36:03,638 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1959447638] [2022-04-28 05:36:03,639 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:36:03,639 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:36:03,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:36:03,762 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 05:36:03,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:36:03,785 INFO L290 TraceCheckUtils]: 0: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-28 05:36:03,786 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 05:36:03,786 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-28 05:36:03,787 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 05:36:03,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:36:03,798 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 05:36:03,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 05:36:03,801 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 05:36:03,802 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-28 05:36:03,802 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 05:36:03,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:36:03,815 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 05:36:03,816 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 05:36:03,816 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 05:36:03,816 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-28 05:36:03,816 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 05:36:03,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:36:03,822 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 05:36:03,823 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 05:36:03,823 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 05:36:03,823 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-28 05:36:03,824 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 05:36:03,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:36:03,833 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 05:36:03,834 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 05:36:03,835 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 05:36:03,835 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-28 05:36:03,836 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 05:36:03,836 INFO L290 TraceCheckUtils]: 1: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-28 05:36:03,836 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 05:36:03,836 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-28 05:36:03,837 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-28 05:36:03,837 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {40#true} is VALID [2022-04-28 05:36:03,837 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {40#true} is VALID [2022-04-28 05:36:03,837 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 05:36:03,841 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 05:36:03,841 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 05:36:03,842 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-28 05:36:03,842 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {41#false} is VALID [2022-04-28 05:36:03,842 INFO L272 TraceCheckUtils]: 12: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {40#true} is VALID [2022-04-28 05:36:03,842 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 05:36:03,843 INFO L290 TraceCheckUtils]: 14: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 05:36:03,843 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 05:36:03,843 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-28 05:36:03,843 INFO L272 TraceCheckUtils]: 17: Hoare triple {41#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-28 05:36:03,843 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 05:36:03,844 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 05:36:03,844 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 05:36:03,844 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-28 05:36:03,844 INFO L272 TraceCheckUtils]: 22: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-28 05:36:03,844 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 05:36:03,845 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 05:36:03,845 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 05:36:03,845 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-28 05:36:03,845 INFO L290 TraceCheckUtils]: 27: Hoare triple {41#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41#false} is VALID [2022-04-28 05:36:03,845 INFO L290 TraceCheckUtils]: 28: Hoare triple {41#false} assume false; {41#false} is VALID [2022-04-28 05:36:03,846 INFO L272 TraceCheckUtils]: 29: Hoare triple {41#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {41#false} is VALID [2022-04-28 05:36:03,846 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-28 05:36:03,846 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-28 05:36:03,846 INFO L290 TraceCheckUtils]: 32: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-28 05:36:03,846 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 05:36:03,847 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:36:03,847 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1959447638] [2022-04-28 05:36:03,848 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1959447638] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:36:03,848 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:36:03,848 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 05:36:03,851 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:36:03,852 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1994596967] [2022-04-28 05:36:03,852 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1994596967] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:36:03,852 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:36:03,852 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 05:36:03,853 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [315706654] [2022-04-28 05:36:03,853 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:36:03,859 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 05:36:03,860 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:36:03,863 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 05:36:03,900 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 05:36:03,901 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 05:36:03,902 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:03,924 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 05:36:03,925 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 05:36:03,932 INFO L87 Difference]: Start difference. First operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:36:04,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:04,141 INFO L93 Difference]: Finished difference Result 67 states and 105 transitions. [2022-04-28 05:36:04,141 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 05:36:04,141 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 05:36:04,142 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:36:04,143 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 05:36:04,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-28 05:36:04,163 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 05:36:04,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-28 05:36:04,170 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 105 transitions. [2022-04-28 05:36:04,278 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:04,287 INFO L225 Difference]: With dead ends: 67 [2022-04-28 05:36:04,287 INFO L226 Difference]: Without dead ends: 32 [2022-04-28 05:36:04,291 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 05:36:04,294 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:36:04,295 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 39 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:36:04,305 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-28 05:36:04,316 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-28 05:36:04,317 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:36:04,317 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 05:36:04,318 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 05:36:04,318 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 05:36:04,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:04,322 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-28 05:36:04,322 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 05:36:04,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:04,323 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:04,323 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-28 05:36:04,324 INFO L87 Difference]: Start difference. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-28 05:36:04,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:04,326 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-28 05:36:04,326 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 05:36:04,327 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:04,327 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:04,327 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:36:04,327 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:36:04,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 05:36:04,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-28 05:36:04,331 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 33 [2022-04-28 05:36:04,331 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:36:04,331 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-28 05:36:04,331 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 05:36:04,331 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-28 05:36:04,373 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:04,373 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 05:36:04,375 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 05:36:04,375 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:36:04,376 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 05:36:04,376 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 05:36:04,376 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:36:04,377 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:36:04,377 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 1 times [2022-04-28 05:36:04,377 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:04,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1247882159] [2022-04-28 05:36:04,379 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:36:04,379 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 2 times [2022-04-28 05:36:04,379 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:36:04,379 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2121003784] [2022-04-28 05:36:04,379 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:36:04,379 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:36:04,417 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:36:04,417 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1135872329] [2022-04-28 05:36:04,417 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:36:04,417 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:36:04,418 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:36:04,419 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 05:36:04,425 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 05:36:04,465 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 05:36:04,465 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:36:04,466 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 05:36:04,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:36:04,480 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:36:05,212 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-28 05:36:05,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {326#true} is VALID [2022-04-28 05:36:05,212 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 05:36:05,212 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #88#return; {326#true} is VALID [2022-04-28 05:36:05,213 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-28 05:36:05,213 INFO L290 TraceCheckUtils]: 5: Hoare triple {326#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {326#true} is VALID [2022-04-28 05:36:05,213 INFO L272 TraceCheckUtils]: 6: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {326#true} is VALID [2022-04-28 05:36:05,213 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 05:36:05,213 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 05:36:05,213 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 05:36:05,213 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #66#return; {326#true} is VALID [2022-04-28 05:36:05,214 INFO L290 TraceCheckUtils]: 11: Hoare triple {326#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {326#true} is VALID [2022-04-28 05:36:05,214 INFO L272 TraceCheckUtils]: 12: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {326#true} is VALID [2022-04-28 05:36:05,214 INFO L290 TraceCheckUtils]: 13: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 05:36:05,214 INFO L290 TraceCheckUtils]: 14: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 05:36:05,214 INFO L290 TraceCheckUtils]: 15: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 05:36:05,214 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {326#true} {326#true} #68#return; {326#true} is VALID [2022-04-28 05:36:05,214 INFO L272 TraceCheckUtils]: 17: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-28 05:36:05,215 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 05:36:05,215 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 05:36:05,215 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 05:36:05,215 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {326#true} #70#return; {326#true} is VALID [2022-04-28 05:36:05,215 INFO L272 TraceCheckUtils]: 22: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-28 05:36:05,215 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 05:36:05,215 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 05:36:05,215 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 05:36:05,216 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {326#true} #72#return; {326#true} is VALID [2022-04-28 05:36:05,219 INFO L290 TraceCheckUtils]: 27: Hoare triple {326#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 05:36:05,219 INFO L290 TraceCheckUtils]: 28: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !false; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 05:36:05,220 INFO L272 TraceCheckUtils]: 29: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {419#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:36:05,221 INFO L290 TraceCheckUtils]: 30: Hoare triple {419#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {423#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:05,221 INFO L290 TraceCheckUtils]: 31: Hoare triple {423#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {327#false} is VALID [2022-04-28 05:36:05,221 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-28 05:36:05,222 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 05:36:05,222 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:36:05,222 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:36:05,222 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2121003784] [2022-04-28 05:36:05,222 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:36:05,222 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1135872329] [2022-04-28 05:36:05,222 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1135872329] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:36:05,223 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:36:05,223 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:36:05,223 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:36:05,223 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1247882159] [2022-04-28 05:36:05,224 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1247882159] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:36:05,224 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:36:05,224 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:36:05,224 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1665710498] [2022-04-28 05:36:05,224 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:36:05,224 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-28 05:36:05,225 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:36:05,225 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:36:05,245 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 05:36:05,245 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:36:05,245 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:05,246 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:36:05,246 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:36:05,246 INFO L87 Difference]: Start difference. First operand 32 states and 42 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:36:05,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:05,467 INFO L93 Difference]: Finished difference Result 48 states and 65 transitions. [2022-04-28 05:36:05,467 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:36:05,468 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-28 05:36:05,468 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:36:05,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:36:05,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:36:05,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:36:05,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:36:05,472 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 05:36:05,531 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 05:36:05,533 INFO L225 Difference]: With dead ends: 48 [2022-04-28 05:36:05,534 INFO L226 Difference]: Without dead ends: 46 [2022-04-28 05:36:05,534 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 05:36:05,535 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:36:05,535 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 143 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:36:05,536 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-28 05:36:05,550 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2022-04-28 05:36:05,550 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:36:05,551 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 05:36:05,551 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 05:36:05,552 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 05:36:05,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:05,563 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-28 05:36:05,563 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-28 05:36:05,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:05,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:05,567 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-28 05:36:05,567 INFO L87 Difference]: Start difference. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-28 05:36:05,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:05,572 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-28 05:36:05,572 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-28 05:36:05,573 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:05,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:05,573 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:36:05,573 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:36:05,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 05:36:05,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 62 transitions. [2022-04-28 05:36:05,576 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 62 transitions. Word has length 33 [2022-04-28 05:36:05,576 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:36:05,576 INFO L495 AbstractCegarLoop]: Abstraction has 45 states and 62 transitions. [2022-04-28 05:36:05,576 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (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 05:36:05,576 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 62 transitions. [2022-04-28 05:36:05,636 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:05,637 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-28 05:36:05,637 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 05:36:05,637 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:36:05,637 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] [2022-04-28 05:36:05,662 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 05:36:05,850 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 05:36:05,851 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:36:05,851 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:36:05,851 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 1 times [2022-04-28 05:36:05,852 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:05,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [543423143] [2022-04-28 05:36:05,852 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:36:05,852 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 2 times [2022-04-28 05:36:05,852 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:36:05,853 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1963450334] [2022-04-28 05:36:05,853 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:36:05,853 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:36:05,872 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:36:05,872 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [679256227] [2022-04-28 05:36:05,873 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:36:05,873 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:36:05,873 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:36:05,874 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 05:36:05,875 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 05:36:05,909 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:36:05,909 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:36:05,910 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 05:36:05,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:36:05,921 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:36:10,099 INFO L272 TraceCheckUtils]: 0: Hoare triple {709#true} call ULTIMATE.init(); {709#true} is VALID [2022-04-28 05:36:10,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {709#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {709#true} is VALID [2022-04-28 05:36:10,100 INFO L290 TraceCheckUtils]: 2: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 05:36:10,100 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {709#true} {709#true} #88#return; {709#true} is VALID [2022-04-28 05:36:10,100 INFO L272 TraceCheckUtils]: 4: Hoare triple {709#true} call #t~ret6 := main(); {709#true} is VALID [2022-04-28 05:36:10,100 INFO L290 TraceCheckUtils]: 5: Hoare triple {709#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {709#true} is VALID [2022-04-28 05:36:10,100 INFO L272 TraceCheckUtils]: 6: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {709#true} is VALID [2022-04-28 05:36:10,100 INFO L290 TraceCheckUtils]: 7: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 05:36:10,101 INFO L290 TraceCheckUtils]: 8: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 05:36:10,101 INFO L290 TraceCheckUtils]: 9: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 05:36:10,101 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {709#true} {709#true} #66#return; {709#true} is VALID [2022-04-28 05:36:10,101 INFO L290 TraceCheckUtils]: 11: Hoare triple {709#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {709#true} is VALID [2022-04-28 05:36:10,101 INFO L272 TraceCheckUtils]: 12: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {709#true} is VALID [2022-04-28 05:36:10,101 INFO L290 TraceCheckUtils]: 13: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 05:36:10,101 INFO L290 TraceCheckUtils]: 14: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 05:36:10,101 INFO L290 TraceCheckUtils]: 15: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 05:36:10,101 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {709#true} {709#true} #68#return; {709#true} is VALID [2022-04-28 05:36:10,102 INFO L272 TraceCheckUtils]: 17: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-28 05:36:10,102 INFO L290 TraceCheckUtils]: 18: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 05:36:10,102 INFO L290 TraceCheckUtils]: 19: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 05:36:10,102 INFO L290 TraceCheckUtils]: 20: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 05:36:10,102 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {709#true} {709#true} #70#return; {709#true} is VALID [2022-04-28 05:36:10,102 INFO L272 TraceCheckUtils]: 22: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-28 05:36:10,102 INFO L290 TraceCheckUtils]: 23: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 05:36:10,102 INFO L290 TraceCheckUtils]: 24: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 05:36:10,103 INFO L290 TraceCheckUtils]: 25: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 05:36:10,103 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {709#true} {709#true} #72#return; {709#true} is VALID [2022-04-28 05:36:10,103 INFO L290 TraceCheckUtils]: 27: Hoare triple {709#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:10,104 INFO L290 TraceCheckUtils]: 28: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:10,104 INFO L272 TraceCheckUtils]: 29: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {709#true} is VALID [2022-04-28 05:36:10,104 INFO L290 TraceCheckUtils]: 30: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 05:36:10,104 INFO L290 TraceCheckUtils]: 31: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 05:36:10,104 INFO L290 TraceCheckUtils]: 32: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 05:36:10,105 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {709#true} {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:10,106 INFO L272 TraceCheckUtils]: 34: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:36:10,115 INFO L290 TraceCheckUtils]: 35: Hoare triple {817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:10,119 INFO L290 TraceCheckUtils]: 36: Hoare triple {821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {710#false} is VALID [2022-04-28 05:36:10,119 INFO L290 TraceCheckUtils]: 37: Hoare triple {710#false} assume !false; {710#false} is VALID [2022-04-28 05:36:10,119 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 05:36:10,119 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:36:10,120 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:36:10,120 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1963450334] [2022-04-28 05:36:10,120 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:36:10,120 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [679256227] [2022-04-28 05:36:10,120 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [679256227] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:36:10,120 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:36:10,120 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:36:10,120 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:36:10,120 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [543423143] [2022-04-28 05:36:10,121 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [543423143] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:36:10,121 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:36:10,121 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:36:10,121 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1105249165] [2022-04-28 05:36:10,121 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:36:10,121 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-28 05:36:10,122 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:36:10,122 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:36:10,150 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:10,150 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:36:10,150 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:10,151 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:36:10,151 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:36:10,151 INFO L87 Difference]: Start difference. First operand 45 states and 62 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:36:10,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:10,363 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2022-04-28 05:36:10,363 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:36:10,364 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-28 05:36:10,366 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:36:10,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:36:10,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:36:10,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:36:10,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:36:10,371 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 05:36:10,422 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 05:36:10,425 INFO L225 Difference]: With dead ends: 52 [2022-04-28 05:36:10,425 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 05:36:10,425 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 34 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 05:36:10,435 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:36:10,436 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 140 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:36:10,437 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 05:36:10,451 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-04-28 05:36:10,451 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:36:10,452 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 05:36:10,452 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 05:36:10,452 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 05:36:10,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:10,455 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-28 05:36:10,455 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-28 05:36:10,455 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:10,455 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:10,456 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-28 05:36:10,456 INFO L87 Difference]: Start difference. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-28 05:36:10,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:10,458 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-28 05:36:10,458 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-28 05:36:10,459 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:10,459 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:10,459 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:36:10,459 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:36:10,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 05:36:10,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 65 transitions. [2022-04-28 05:36:10,461 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 65 transitions. Word has length 38 [2022-04-28 05:36:10,461 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:36:10,461 INFO L495 AbstractCegarLoop]: Abstraction has 49 states and 65 transitions. [2022-04-28 05:36:10,462 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 05:36:10,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 65 transitions. [2022-04-28 05:36:10,536 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 05:36:10,536 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-28 05:36:10,538 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 05:36:10,538 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:36:10,538 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] [2022-04-28 05:36:10,561 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 05:36:10,751 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 05:36:10,752 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:36:10,752 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:36:10,752 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 1 times [2022-04-28 05:36:10,752 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:10,752 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [67897513] [2022-04-28 05:36:10,752 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:36:10,752 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 2 times [2022-04-28 05:36:10,753 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:36:10,753 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1298648709] [2022-04-28 05:36:10,753 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:36:10,753 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:36:10,776 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:36:10,776 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [589697129] [2022-04-28 05:36:10,776 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:36:10,776 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:36:10,776 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:36:10,785 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 05:36:10,786 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 05:36:10,833 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:36:10,833 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:36:10,834 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 05:36:10,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:36:10,855 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:36:13,028 INFO L272 TraceCheckUtils]: 0: Hoare triple {1131#true} call ULTIMATE.init(); {1131#true} is VALID [2022-04-28 05:36:13,028 INFO L290 TraceCheckUtils]: 1: Hoare triple {1131#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1131#true} is VALID [2022-04-28 05:36:13,028 INFO L290 TraceCheckUtils]: 2: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 05:36:13,028 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1131#true} {1131#true} #88#return; {1131#true} is VALID [2022-04-28 05:36:13,028 INFO L272 TraceCheckUtils]: 4: Hoare triple {1131#true} call #t~ret6 := main(); {1131#true} is VALID [2022-04-28 05:36:13,029 INFO L290 TraceCheckUtils]: 5: Hoare triple {1131#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1131#true} is VALID [2022-04-28 05:36:13,029 INFO L272 TraceCheckUtils]: 6: Hoare triple {1131#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {1131#true} is VALID [2022-04-28 05:36:13,029 INFO L290 TraceCheckUtils]: 7: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 05:36:13,029 INFO L290 TraceCheckUtils]: 8: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 05:36:13,029 INFO L290 TraceCheckUtils]: 9: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 05:36:13,029 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1131#true} {1131#true} #66#return; {1131#true} is VALID [2022-04-28 05:36:13,029 INFO L290 TraceCheckUtils]: 11: Hoare triple {1131#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1131#true} is VALID [2022-04-28 05:36:13,029 INFO L272 TraceCheckUtils]: 12: Hoare triple {1131#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {1131#true} is VALID [2022-04-28 05:36:13,029 INFO L290 TraceCheckUtils]: 13: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 05:36:13,030 INFO L290 TraceCheckUtils]: 14: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 05:36:13,030 INFO L290 TraceCheckUtils]: 15: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 05:36:13,030 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1131#true} {1131#true} #68#return; {1131#true} is VALID [2022-04-28 05:36:13,030 INFO L272 TraceCheckUtils]: 17: Hoare triple {1131#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1131#true} is VALID [2022-04-28 05:36:13,030 INFO L290 TraceCheckUtils]: 18: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 05:36:13,030 INFO L290 TraceCheckUtils]: 19: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 05:36:13,030 INFO L290 TraceCheckUtils]: 20: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 05:36:13,030 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1131#true} {1131#true} #70#return; {1131#true} is VALID [2022-04-28 05:36:13,030 INFO L272 TraceCheckUtils]: 22: Hoare triple {1131#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1131#true} is VALID [2022-04-28 05:36:13,030 INFO L290 TraceCheckUtils]: 23: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 05:36:13,031 INFO L290 TraceCheckUtils]: 24: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 05:36:13,031 INFO L290 TraceCheckUtils]: 25: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 05:36:13,031 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1131#true} {1131#true} #72#return; {1131#true} is VALID [2022-04-28 05:36:13,040 INFO L290 TraceCheckUtils]: 27: Hoare triple {1131#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:36:13,040 INFO L290 TraceCheckUtils]: 28: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:36:13,040 INFO L272 TraceCheckUtils]: 29: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1131#true} is VALID [2022-04-28 05:36:13,040 INFO L290 TraceCheckUtils]: 30: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 05:36:13,040 INFO L290 TraceCheckUtils]: 31: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 05:36:13,041 INFO L290 TraceCheckUtils]: 32: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 05:36:13,041 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1131#true} {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:36:13,041 INFO L272 TraceCheckUtils]: 34: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1131#true} is VALID [2022-04-28 05:36:13,041 INFO L290 TraceCheckUtils]: 35: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-28 05:36:13,041 INFO L290 TraceCheckUtils]: 36: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-28 05:36:13,042 INFO L290 TraceCheckUtils]: 37: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-28 05:36:13,042 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1131#true} {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:36:13,043 INFO L272 TraceCheckUtils]: 39: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1254#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:36:13,043 INFO L290 TraceCheckUtils]: 40: Hoare triple {1254#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1258#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:13,043 INFO L290 TraceCheckUtils]: 41: Hoare triple {1258#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1132#false} is VALID [2022-04-28 05:36:13,044 INFO L290 TraceCheckUtils]: 42: Hoare triple {1132#false} assume !false; {1132#false} is VALID [2022-04-28 05:36:13,044 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 05:36:13,044 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:36:13,044 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:36:13,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1298648709] [2022-04-28 05:36:13,044 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:36:13,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [589697129] [2022-04-28 05:36:13,044 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [589697129] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:36:13,044 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:36:13,045 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:36:13,045 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:36:13,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [67897513] [2022-04-28 05:36:13,045 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [67897513] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:36:13,045 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:36:13,045 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:36:13,045 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1402326534] [2022-04-28 05:36:13,045 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:36:13,046 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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 43 [2022-04-28 05:36:13,046 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:36:13,046 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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 05:36:13,064 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:13,064 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:36:13,064 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:13,065 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:36:13,065 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:36:13,065 INFO L87 Difference]: Start difference. First operand 49 states and 65 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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 05:36:13,242 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:13,242 INFO L93 Difference]: Finished difference Result 74 states and 105 transitions. [2022-04-28 05:36:13,243 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:36:13,243 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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 43 [2022-04-28 05:36:13,243 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:36:13,243 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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 05:36:13,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:36:13,245 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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 05:36:13,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:36:13,246 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 05:36:13,298 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 05:36:13,299 INFO L225 Difference]: With dead ends: 74 [2022-04-28 05:36:13,300 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 05:36:13,300 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 39 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 05:36:13,300 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:36:13,301 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 139 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:36:13,301 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 05:36:13,319 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-28 05:36:13,319 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:36:13,320 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 05:36:13,320 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 05:36:13,320 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 05:36:13,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:13,324 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-28 05:36:13,324 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-28 05:36:13,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:13,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:13,325 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-28 05:36:13,325 INFO L87 Difference]: Start difference. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-28 05:36:13,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:13,328 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-28 05:36:13,328 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-28 05:36:13,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:13,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:13,329 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:36:13,329 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:36:13,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 05:36:13,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 98 transitions. [2022-04-28 05:36:13,332 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 98 transitions. Word has length 43 [2022-04-28 05:36:13,332 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:36:13,332 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 98 transitions. [2022-04-28 05:36:13,332 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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 05:36:13,332 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 98 transitions. [2022-04-28 05:36:13,423 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:13,423 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-28 05:36:13,423 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 05:36:13,424 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:36:13,424 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] [2022-04-28 05:36:13,441 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 05:36:13,639 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 05:36:13,640 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:36:13,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:36:13,640 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 1 times [2022-04-28 05:36:13,640 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:13,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [69044740] [2022-04-28 05:36:13,641 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:36:13,641 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 2 times [2022-04-28 05:36:13,641 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:36:13,641 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1050681491] [2022-04-28 05:36:13,641 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:36:13,641 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:36:13,656 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:36:13,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1978411918] [2022-04-28 05:36:13,656 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:36:13,656 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:36:13,656 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:36:13,657 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 05:36:13,658 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 05:36:13,703 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:36:13,703 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:36:13,704 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 05:36:13,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:36:13,716 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:36:13,819 INFO L272 TraceCheckUtils]: 0: Hoare triple {1694#true} call ULTIMATE.init(); {1694#true} is VALID [2022-04-28 05:36:13,819 INFO L290 TraceCheckUtils]: 1: Hoare triple {1694#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1694#true} is VALID [2022-04-28 05:36:13,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 05:36:13,820 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1694#true} {1694#true} #88#return; {1694#true} is VALID [2022-04-28 05:36:13,820 INFO L272 TraceCheckUtils]: 4: Hoare triple {1694#true} call #t~ret6 := main(); {1694#true} is VALID [2022-04-28 05:36:13,821 INFO L290 TraceCheckUtils]: 5: Hoare triple {1694#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1694#true} is VALID [2022-04-28 05:36:13,821 INFO L272 TraceCheckUtils]: 6: Hoare triple {1694#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {1694#true} is VALID [2022-04-28 05:36:13,821 INFO L290 TraceCheckUtils]: 7: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 05:36:13,821 INFO L290 TraceCheckUtils]: 8: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 05:36:13,821 INFO L290 TraceCheckUtils]: 9: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 05:36:13,822 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1694#true} {1694#true} #66#return; {1694#true} is VALID [2022-04-28 05:36:13,822 INFO L290 TraceCheckUtils]: 11: Hoare triple {1694#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1694#true} is VALID [2022-04-28 05:36:13,823 INFO L272 TraceCheckUtils]: 12: Hoare triple {1694#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {1694#true} is VALID [2022-04-28 05:36:13,823 INFO L290 TraceCheckUtils]: 13: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 05:36:13,823 INFO L290 TraceCheckUtils]: 14: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 05:36:13,824 INFO L290 TraceCheckUtils]: 15: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 05:36:13,824 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1694#true} {1694#true} #68#return; {1694#true} is VALID [2022-04-28 05:36:13,824 INFO L272 TraceCheckUtils]: 17: Hoare triple {1694#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1694#true} is VALID [2022-04-28 05:36:13,825 INFO L290 TraceCheckUtils]: 18: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 05:36:13,825 INFO L290 TraceCheckUtils]: 19: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 05:36:13,825 INFO L290 TraceCheckUtils]: 20: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 05:36:13,825 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1694#true} {1694#true} #70#return; {1694#true} is VALID [2022-04-28 05:36:13,825 INFO L272 TraceCheckUtils]: 22: Hoare triple {1694#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1694#true} is VALID [2022-04-28 05:36:13,825 INFO L290 TraceCheckUtils]: 23: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 05:36:13,825 INFO L290 TraceCheckUtils]: 24: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 05:36:13,825 INFO L290 TraceCheckUtils]: 25: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 05:36:13,825 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1694#true} {1694#true} #72#return; {1694#true} is VALID [2022-04-28 05:36:13,825 INFO L290 TraceCheckUtils]: 27: Hoare triple {1694#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1694#true} is VALID [2022-04-28 05:36:13,826 INFO L290 TraceCheckUtils]: 28: Hoare triple {1694#true} assume !false; {1694#true} is VALID [2022-04-28 05:36:13,826 INFO L272 TraceCheckUtils]: 29: Hoare triple {1694#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1694#true} is VALID [2022-04-28 05:36:13,826 INFO L290 TraceCheckUtils]: 30: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 05:36:13,826 INFO L290 TraceCheckUtils]: 31: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 05:36:13,826 INFO L290 TraceCheckUtils]: 32: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 05:36:13,826 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1694#true} {1694#true} #74#return; {1694#true} is VALID [2022-04-28 05:36:13,826 INFO L272 TraceCheckUtils]: 34: Hoare triple {1694#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1694#true} is VALID [2022-04-28 05:36:13,826 INFO L290 TraceCheckUtils]: 35: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 05:36:13,826 INFO L290 TraceCheckUtils]: 36: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 05:36:13,828 INFO L290 TraceCheckUtils]: 37: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 05:36:13,829 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1694#true} {1694#true} #76#return; {1694#true} is VALID [2022-04-28 05:36:13,829 INFO L272 TraceCheckUtils]: 39: Hoare triple {1694#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1694#true} is VALID [2022-04-28 05:36:13,829 INFO L290 TraceCheckUtils]: 40: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-28 05:36:13,829 INFO L290 TraceCheckUtils]: 41: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-28 05:36:13,829 INFO L290 TraceCheckUtils]: 42: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-28 05:36:13,829 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1694#true} {1694#true} #78#return; {1694#true} is VALID [2022-04-28 05:36:13,830 INFO L290 TraceCheckUtils]: 44: Hoare triple {1694#true} assume !(~a~0 != ~b~0); {1831#(= main_~b~0 main_~a~0)} is VALID [2022-04-28 05:36:13,830 INFO L272 TraceCheckUtils]: 45: Hoare triple {1831#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {1835#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:36:13,831 INFO L290 TraceCheckUtils]: 46: Hoare triple {1835#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1839#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:13,831 INFO L290 TraceCheckUtils]: 47: Hoare triple {1839#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1695#false} is VALID [2022-04-28 05:36:13,831 INFO L290 TraceCheckUtils]: 48: Hoare triple {1695#false} assume !false; {1695#false} is VALID [2022-04-28 05:36:13,831 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 05:36:13,831 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:36:13,832 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:36:13,832 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1050681491] [2022-04-28 05:36:13,832 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:36:13,832 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1978411918] [2022-04-28 05:36:13,832 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1978411918] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:36:13,832 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:36:13,832 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:36:13,832 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:36:13,832 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [69044740] [2022-04-28 05:36:13,832 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [69044740] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:36:13,832 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:36:13,832 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:36:13,833 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1191242100] [2022-04-28 05:36:13,833 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:36:13,833 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-28 05:36:13,834 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:36:13,834 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 05:36:13,856 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:13,856 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:36:13,856 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:13,857 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:36:13,857 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:36:13,857 INFO L87 Difference]: Start difference. First operand 70 states and 98 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 05:36:14,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:14,022 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-28 05:36:14,022 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:36:14,022 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-28 05:36:14,023 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:36:14,023 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 05:36:14,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 05:36:14,025 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 05:36:14,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 05:36:14,026 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-28 05:36:14,056 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:14,058 INFO L225 Difference]: With dead ends: 76 [2022-04-28 05:36:14,058 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 05:36:14,058 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 05:36:14,059 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 5 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:36:14,059 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 139 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:36:14,059 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 05:36:14,079 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-28 05:36:14,080 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:36:14,080 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 05:36:14,080 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 05:36:14,080 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 05:36:14,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:14,083 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-28 05:36:14,083 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-28 05:36:14,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:14,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:14,084 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-28 05:36:14,085 INFO L87 Difference]: Start difference. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-28 05:36:14,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:14,088 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-28 05:36:14,088 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-28 05:36:14,088 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:14,088 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:14,088 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:36:14,088 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:36:14,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 05:36:14,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 101 transitions. [2022-04-28 05:36:14,091 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 101 transitions. Word has length 49 [2022-04-28 05:36:14,092 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:36:14,092 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 101 transitions. [2022-04-28 05:36:14,092 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 05:36:14,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 101 transitions. [2022-04-28 05:36:14,191 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 05:36:14,191 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-28 05:36:14,192 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 05:36:14,192 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:36:14,192 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:36:14,219 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 05:36:14,410 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 05:36:14,410 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:36:14,410 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:36:14,410 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 1 times [2022-04-28 05:36:14,410 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:14,410 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [468389182] [2022-04-28 05:36:14,411 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:36:14,411 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 2 times [2022-04-28 05:36:14,411 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:36:14,411 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1179901227] [2022-04-28 05:36:14,411 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:36:14,411 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:36:14,432 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:36:14,432 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [530121082] [2022-04-28 05:36:14,432 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:36:14,432 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:36:14,432 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:36:14,433 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 05:36:14,458 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 05:36:14,487 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:36:14,487 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:36:14,488 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 05:36:14,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:36:14,503 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:36:18,687 INFO L272 TraceCheckUtils]: 0: Hoare triple {2295#true} call ULTIMATE.init(); {2295#true} is VALID [2022-04-28 05:36:18,688 INFO L290 TraceCheckUtils]: 1: Hoare triple {2295#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2295#true} is VALID [2022-04-28 05:36:18,688 INFO L290 TraceCheckUtils]: 2: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 05:36:18,688 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2295#true} {2295#true} #88#return; {2295#true} is VALID [2022-04-28 05:36:18,688 INFO L272 TraceCheckUtils]: 4: Hoare triple {2295#true} call #t~ret6 := main(); {2295#true} is VALID [2022-04-28 05:36:18,688 INFO L290 TraceCheckUtils]: 5: Hoare triple {2295#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2295#true} is VALID [2022-04-28 05:36:18,688 INFO L272 TraceCheckUtils]: 6: Hoare triple {2295#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {2295#true} is VALID [2022-04-28 05:36:18,688 INFO L290 TraceCheckUtils]: 7: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 05:36:18,688 INFO L290 TraceCheckUtils]: 8: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 05:36:18,688 INFO L290 TraceCheckUtils]: 9: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 05:36:18,689 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2295#true} {2295#true} #66#return; {2295#true} is VALID [2022-04-28 05:36:18,689 INFO L290 TraceCheckUtils]: 11: Hoare triple {2295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2295#true} is VALID [2022-04-28 05:36:18,689 INFO L272 TraceCheckUtils]: 12: Hoare triple {2295#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {2295#true} is VALID [2022-04-28 05:36:18,689 INFO L290 TraceCheckUtils]: 13: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 05:36:18,689 INFO L290 TraceCheckUtils]: 14: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 05:36:18,689 INFO L290 TraceCheckUtils]: 15: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 05:36:18,689 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2295#true} {2295#true} #68#return; {2295#true} is VALID [2022-04-28 05:36:18,689 INFO L272 TraceCheckUtils]: 17: Hoare triple {2295#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2295#true} is VALID [2022-04-28 05:36:18,689 INFO L290 TraceCheckUtils]: 18: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 05:36:18,689 INFO L290 TraceCheckUtils]: 19: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 05:36:18,689 INFO L290 TraceCheckUtils]: 20: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 05:36:18,690 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2295#true} {2295#true} #70#return; {2295#true} is VALID [2022-04-28 05:36:18,690 INFO L272 TraceCheckUtils]: 22: Hoare triple {2295#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2295#true} is VALID [2022-04-28 05:36:18,690 INFO L290 TraceCheckUtils]: 23: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 05:36:18,690 INFO L290 TraceCheckUtils]: 24: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 05:36:18,690 INFO L290 TraceCheckUtils]: 25: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 05:36:18,690 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2295#true} {2295#true} #72#return; {2295#true} is VALID [2022-04-28 05:36:18,691 INFO L290 TraceCheckUtils]: 27: Hoare triple {2295#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:18,691 INFO L290 TraceCheckUtils]: 28: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:18,691 INFO L272 TraceCheckUtils]: 29: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2295#true} is VALID [2022-04-28 05:36:18,692 INFO L290 TraceCheckUtils]: 30: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 05:36:18,695 INFO L290 TraceCheckUtils]: 31: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 05:36:18,696 INFO L290 TraceCheckUtils]: 32: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 05:36:18,702 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:18,703 INFO L272 TraceCheckUtils]: 34: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2295#true} is VALID [2022-04-28 05:36:18,703 INFO L290 TraceCheckUtils]: 35: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 05:36:18,703 INFO L290 TraceCheckUtils]: 36: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 05:36:18,703 INFO L290 TraceCheckUtils]: 37: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 05:36:18,708 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:18,708 INFO L272 TraceCheckUtils]: 39: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2295#true} is VALID [2022-04-28 05:36:18,708 INFO L290 TraceCheckUtils]: 40: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-28 05:36:18,709 INFO L290 TraceCheckUtils]: 41: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-28 05:36:18,709 INFO L290 TraceCheckUtils]: 42: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-28 05:36:18,712 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:18,713 INFO L290 TraceCheckUtils]: 44: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:18,713 INFO L290 TraceCheckUtils]: 45: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:18,714 INFO L290 TraceCheckUtils]: 46: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:18,714 INFO L272 TraceCheckUtils]: 47: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2442#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:36:18,715 INFO L290 TraceCheckUtils]: 48: Hoare triple {2442#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2446#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:18,715 INFO L290 TraceCheckUtils]: 49: Hoare triple {2446#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2296#false} is VALID [2022-04-28 05:36:18,715 INFO L290 TraceCheckUtils]: 50: Hoare triple {2296#false} assume !false; {2296#false} is VALID [2022-04-28 05:36:18,715 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-28 05:36:18,716 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:36:18,716 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:36:18,717 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1179901227] [2022-04-28 05:36:18,717 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:36:18,717 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [530121082] [2022-04-28 05:36:18,717 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [530121082] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:36:18,717 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:36:18,717 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:36:18,717 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:36:18,717 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [468389182] [2022-04-28 05:36:18,717 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [468389182] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:36:18,717 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:36:18,717 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:36:18,717 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1234902890] [2022-04-28 05:36:18,717 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:36:18,718 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-28 05:36:18,718 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:36:18,718 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:36:18,746 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 05:36:18,746 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:36:18,747 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:18,747 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:36:18,747 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:36:18,747 INFO L87 Difference]: Start difference. First operand 74 states and 101 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:36:18,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:18,931 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2022-04-28 05:36:18,931 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:36:18,931 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-28 05:36:18,932 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:36:18,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:36:18,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-28 05:36:18,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:36:18,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-28 05:36:18,935 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-28 05:36:18,995 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:18,997 INFO L225 Difference]: With dead ends: 84 [2022-04-28 05:36:18,997 INFO L226 Difference]: Without dead ends: 81 [2022-04-28 05:36:18,997 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 05:36:18,998 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 6 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:36:18,998 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 146 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:36:18,998 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-28 05:36:19,025 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 79. [2022-04-28 05:36:19,025 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:36:19,026 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 05:36:19,026 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 05:36:19,026 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 05:36:19,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:19,031 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-28 05:36:19,031 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-28 05:36:19,031 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:19,031 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:19,031 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-28 05:36:19,032 INFO L87 Difference]: Start difference. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-28 05:36:19,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:19,034 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-28 05:36:19,034 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-28 05:36:19,035 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:19,035 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:19,035 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:36:19,035 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:36:19,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 05:36:19,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 102 transitions. [2022-04-28 05:36:19,038 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 102 transitions. Word has length 51 [2022-04-28 05:36:19,038 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:36:19,038 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 102 transitions. [2022-04-28 05:36:19,038 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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 05:36:19,038 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 102 transitions. [2022-04-28 05:36:19,140 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 05:36:19,140 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 102 transitions. [2022-04-28 05:36:19,140 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-28 05:36:19,140 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:36:19,140 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:36:19,162 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 05:36:19,341 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 05:36:19,341 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:36:19,342 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:36:19,342 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 1 times [2022-04-28 05:36:19,342 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:19,342 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [968747509] [2022-04-28 05:36:19,342 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:36:19,342 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 2 times [2022-04-28 05:36:19,342 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:36:19,342 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [456776449] [2022-04-28 05:36:19,342 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:36:19,343 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:36:19,354 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:36:19,354 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1008160755] [2022-04-28 05:36:19,354 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:36:19,355 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:36:19,355 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:36:19,361 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 05:36:19,362 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 05:36:19,391 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:36:19,391 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:36:19,392 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 05:36:19,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:36:19,401 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:36:19,562 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-28 05:36:19,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {2942#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2942#true} is VALID [2022-04-28 05:36:19,563 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 05:36:19,563 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-28 05:36:19,563 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-28 05:36:19,563 INFO L290 TraceCheckUtils]: 5: Hoare triple {2942#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2942#true} is VALID [2022-04-28 05:36:19,563 INFO L272 TraceCheckUtils]: 6: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {2942#true} is VALID [2022-04-28 05:36:19,563 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 05:36:19,563 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 05:36:19,563 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 05:36:19,563 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-28 05:36:19,564 INFO L290 TraceCheckUtils]: 11: Hoare triple {2942#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2942#true} is VALID [2022-04-28 05:36:19,564 INFO L272 TraceCheckUtils]: 12: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {2942#true} is VALID [2022-04-28 05:36:19,564 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 05:36:19,564 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 05:36:19,564 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 05:36:19,564 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-28 05:36:19,564 INFO L272 TraceCheckUtils]: 17: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-28 05:36:19,564 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 05:36:19,564 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 05:36:19,564 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 05:36:19,564 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-28 05:36:19,564 INFO L272 TraceCheckUtils]: 22: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-28 05:36:19,565 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 05:36:19,565 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 05:36:19,565 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 05:36:19,565 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-28 05:36:19,565 INFO L290 TraceCheckUtils]: 27: Hoare triple {2942#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2942#true} is VALID [2022-04-28 05:36:19,565 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-28 05:36:19,565 INFO L272 TraceCheckUtils]: 29: Hoare triple {2942#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 05:36:19,565 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 05:36:19,565 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 05:36:19,565 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 05:36:19,565 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-28 05:36:19,565 INFO L272 TraceCheckUtils]: 34: Hoare triple {2942#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 05:36:19,566 INFO L290 TraceCheckUtils]: 35: Hoare triple {2942#true} ~cond := #in~cond; {3052#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:19,566 INFO L290 TraceCheckUtils]: 36: Hoare triple {3052#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:36:19,567 INFO L290 TraceCheckUtils]: 37: Hoare triple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:36:19,568 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} {2942#true} #76#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:36:19,568 INFO L272 TraceCheckUtils]: 39: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 05:36:19,568 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 05:36:19,568 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 05:36:19,568 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 05:36:19,569 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2942#true} {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:36:19,569 INFO L290 TraceCheckUtils]: 44: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:36:19,569 INFO L272 TraceCheckUtils]: 45: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 05:36:19,569 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 05:36:19,569 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 05:36:19,569 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 05:36:19,570 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2942#true} {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:36:19,571 INFO L272 TraceCheckUtils]: 50: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:36:19,571 INFO L290 TraceCheckUtils]: 51: Hoare triple {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3105#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:19,572 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-28 05:36:19,572 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-28 05:36:19,572 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 05:36:19,572 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:36:37,254 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-28 05:36:37,255 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-28 05:36:37,255 INFO L290 TraceCheckUtils]: 51: Hoare triple {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3105#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:37,256 INFO L272 TraceCheckUtils]: 50: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:36:37,257 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2942#true} {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:36:37,257 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 05:36:37,257 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 05:36:37,257 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 05:36:37,257 INFO L272 TraceCheckUtils]: 45: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 05:36:37,257 INFO L290 TraceCheckUtils]: 44: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:36:37,258 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2942#true} {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:36:37,258 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 05:36:37,258 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 05:36:37,258 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 05:36:37,258 INFO L272 TraceCheckUtils]: 39: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 05:36:37,260 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} {2942#true} #76#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:36:37,260 INFO L290 TraceCheckUtils]: 37: Hoare triple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:36:37,260 INFO L290 TraceCheckUtils]: 36: Hoare triple {3166#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:36:37,261 INFO L290 TraceCheckUtils]: 35: Hoare triple {2942#true} ~cond := #in~cond; {3166#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:36:37,261 INFO L272 TraceCheckUtils]: 34: Hoare triple {2942#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 05:36:37,261 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-28 05:36:37,261 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 05:36:37,261 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 05:36:37,261 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 05:36:37,261 INFO L272 TraceCheckUtils]: 29: Hoare triple {2942#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2942#true} is VALID [2022-04-28 05:36:37,261 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-28 05:36:37,261 INFO L290 TraceCheckUtils]: 27: Hoare triple {2942#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2942#true} is VALID [2022-04-28 05:36:37,261 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-28 05:36:37,262 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 05:36:37,262 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 05:36:37,262 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 05:36:37,262 INFO L272 TraceCheckUtils]: 22: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-28 05:36:37,262 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-28 05:36:37,262 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 05:36:37,262 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 05:36:37,262 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 05:36:37,262 INFO L272 TraceCheckUtils]: 17: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-28 05:36:37,262 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-28 05:36:37,263 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 05:36:37,263 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 05:36:37,263 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 05:36:37,263 INFO L272 TraceCheckUtils]: 12: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {2942#true} is VALID [2022-04-28 05:36:37,263 INFO L290 TraceCheckUtils]: 11: Hoare triple {2942#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2942#true} is VALID [2022-04-28 05:36:37,263 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-28 05:36:37,263 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 05:36:37,263 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-28 05:36:37,263 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-28 05:36:37,264 INFO L272 TraceCheckUtils]: 6: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {2942#true} is VALID [2022-04-28 05:36:37,264 INFO L290 TraceCheckUtils]: 5: Hoare triple {2942#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2942#true} is VALID [2022-04-28 05:36:37,264 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-28 05:36:37,264 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-28 05:36:37,264 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-28 05:36:37,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {2942#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2942#true} is VALID [2022-04-28 05:36:37,264 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-28 05:36:37,264 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 05:36:37,264 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:36:37,264 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [456776449] [2022-04-28 05:36:37,265 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:36:37,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1008160755] [2022-04-28 05:36:37,265 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1008160755] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:36:37,265 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:36:37,265 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 05:36:37,265 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:36:37,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [968747509] [2022-04-28 05:36:37,265 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [968747509] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:36:37,265 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:36:37,265 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:36:37,265 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1714765614] [2022-04-28 05:36:37,265 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:36:37,266 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-28 05:36:37,266 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:36:37,266 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:36:37,298 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:37,298 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:36:37,298 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:37,298 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:36:37,298 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:36:37,299 INFO L87 Difference]: Start difference. First operand 79 states and 102 transitions. Second operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:36:37,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:37,918 INFO L93 Difference]: Finished difference Result 88 states and 112 transitions. [2022-04-28 05:36:37,918 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 05:36:37,918 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-28 05:36:37,918 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:36:37,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:36:37,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-28 05:36:37,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:36:37,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-28 05:36:37,920 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 52 transitions. [2022-04-28 05:36:37,969 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 05:36:37,972 INFO L225 Difference]: With dead ends: 88 [2022-04-28 05:36:37,972 INFO L226 Difference]: Without dead ends: 84 [2022-04-28 05:36:37,972 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 05:36:37,973 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 122 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 133 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 122 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 05:36:37,973 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 129 Invalid, 133 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 122 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 05:36:37,974 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-28 05:36:38,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-04-28 05:36:38,009 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:36:38,009 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 05:36:38,009 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 05:36:38,009 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 05:36:38,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:38,012 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-28 05:36:38,012 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-28 05:36:38,013 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:38,013 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:38,015 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-28 05:36:38,015 INFO L87 Difference]: Start difference. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-28 05:36:38,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:38,017 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-28 05:36:38,017 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-28 05:36:38,018 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:38,018 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:38,018 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:36:38,018 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:36:38,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 05:36:38,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 105 transitions. [2022-04-28 05:36:38,021 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 105 transitions. Word has length 54 [2022-04-28 05:36:38,021 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:36:38,021 INFO L495 AbstractCegarLoop]: Abstraction has 84 states and 105 transitions. [2022-04-28 05:36:38,021 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:36:38,021 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 105 transitions. [2022-04-28 05:36:38,146 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:38,147 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-28 05:36:38,147 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-28 05:36:38,147 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:36:38,147 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:36:38,164 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 05:36:38,347 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 05:36:38,348 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:36:38,348 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:36:38,348 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 3 times [2022-04-28 05:36:38,348 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:38,348 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [747685755] [2022-04-28 05:36:38,349 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:36:38,349 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 4 times [2022-04-28 05:36:38,349 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:36:38,349 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1272938186] [2022-04-28 05:36:38,349 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:36:38,349 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:36:38,360 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:36:38,360 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [758296815] [2022-04-28 05:36:38,361 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:36:38,361 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:36:38,361 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:36:38,362 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 05:36:38,363 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 05:36:38,405 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:36:38,405 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:36:38,406 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 05:36:38,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:36:38,417 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:36:38,809 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-28 05:36:38,809 INFO L290 TraceCheckUtils]: 1: Hoare triple {3792#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3792#true} is VALID [2022-04-28 05:36:38,809 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:38,809 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-28 05:36:38,810 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-28 05:36:38,810 INFO L290 TraceCheckUtils]: 5: Hoare triple {3792#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3792#true} is VALID [2022-04-28 05:36:38,810 INFO L272 TraceCheckUtils]: 6: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {3792#true} is VALID [2022-04-28 05:36:38,810 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 05:36:38,810 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 05:36:38,810 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:38,810 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-28 05:36:38,810 INFO L290 TraceCheckUtils]: 11: Hoare triple {3792#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3792#true} is VALID [2022-04-28 05:36:38,810 INFO L272 TraceCheckUtils]: 12: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {3792#true} is VALID [2022-04-28 05:36:38,810 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 05:36:38,810 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 05:36:38,811 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:38,811 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-28 05:36:38,811 INFO L272 TraceCheckUtils]: 17: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-28 05:36:38,811 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 05:36:38,811 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 05:36:38,811 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:38,811 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-28 05:36:38,811 INFO L272 TraceCheckUtils]: 22: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-28 05:36:38,813 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3866#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:36:38,813 INFO L290 TraceCheckUtils]: 24: Hoare triple {3866#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3870#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:36:38,814 INFO L290 TraceCheckUtils]: 25: Hoare triple {3870#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3870#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:36:38,814 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3870#(not (= |assume_abort_if_not_#in~cond| 0))} {3792#true} #72#return; {3877#(<= 1 main_~y~0)} is VALID [2022-04-28 05:36:38,815 INFO L290 TraceCheckUtils]: 27: Hoare triple {3877#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:38,816 INFO L290 TraceCheckUtils]: 28: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:38,817 INFO L272 TraceCheckUtils]: 29: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 05:36:38,817 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 05:36:38,817 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 05:36:38,817 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:38,818 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3792#true} {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:38,818 INFO L272 TraceCheckUtils]: 34: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 05:36:38,818 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 05:36:38,818 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 05:36:38,818 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:38,819 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3792#true} {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:38,819 INFO L272 TraceCheckUtils]: 39: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 05:36:38,819 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 05:36:38,819 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 05:36:38,819 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:38,820 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3792#true} {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:38,820 INFO L290 TraceCheckUtils]: 44: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:38,821 INFO L290 TraceCheckUtils]: 45: Hoare triple {3881#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-28 05:36:38,821 INFO L290 TraceCheckUtils]: 46: Hoare triple {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} assume !false; {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-28 05:36:38,821 INFO L272 TraceCheckUtils]: 47: Hoare triple {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 05:36:38,821 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 05:36:38,821 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 05:36:38,821 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:38,822 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3792#true} {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} #74#return; {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} is VALID [2022-04-28 05:36:38,822 INFO L272 TraceCheckUtils]: 52: Hoare triple {3936#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3958#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:36:38,823 INFO L290 TraceCheckUtils]: 53: Hoare triple {3958#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3962#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:38,823 INFO L290 TraceCheckUtils]: 54: Hoare triple {3962#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-28 05:36:38,823 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-28 05:36:38,823 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 17 proven. 3 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 05:36:38,823 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:36:39,073 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-28 05:36:39,073 INFO L290 TraceCheckUtils]: 54: Hoare triple {3962#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-28 05:36:39,073 INFO L290 TraceCheckUtils]: 53: Hoare triple {3958#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3962#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:39,074 INFO L272 TraceCheckUtils]: 52: Hoare triple {3978#(= 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)); {3958#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:36:39,075 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3792#true} {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:36:39,075 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:39,075 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 05:36:39,075 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 05:36:39,075 INFO L272 TraceCheckUtils]: 47: Hoare triple {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 05:36:39,075 INFO L290 TraceCheckUtils]: 46: Hoare triple {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:36:39,287 INFO L290 TraceCheckUtils]: 45: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3978#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:36:39,288 INFO L290 TraceCheckUtils]: 44: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:36:39,289 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3792#true} {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #78#return; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:36:39,289 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:39,289 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 05:36:39,289 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 05:36:39,289 INFO L272 TraceCheckUtils]: 39: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 05:36:39,290 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3792#true} {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #76#return; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:36:39,290 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:39,290 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 05:36:39,290 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 05:36:39,290 INFO L272 TraceCheckUtils]: 34: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 05:36:39,291 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3792#true} {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #74#return; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:36:39,291 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:39,291 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 05:36:39,291 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 05:36:39,291 INFO L272 TraceCheckUtils]: 29: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-28 05:36:39,291 INFO L290 TraceCheckUtils]: 28: Hoare triple {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !false; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:36:39,292 INFO L290 TraceCheckUtils]: 27: Hoare triple {3792#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4000#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-28 05:36:39,292 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3792#true} {3792#true} #72#return; {3792#true} is VALID [2022-04-28 05:36:39,292 INFO L290 TraceCheckUtils]: 25: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:39,292 INFO L290 TraceCheckUtils]: 24: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 05:36:39,292 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 05:36:39,292 INFO L272 TraceCheckUtils]: 22: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-28 05:36:39,292 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-28 05:36:39,292 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:39,292 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 05:36:39,293 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 05:36:39,293 INFO L272 TraceCheckUtils]: 17: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-28 05:36:39,293 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-28 05:36:39,293 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:39,293 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 05:36:39,293 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 05:36:39,293 INFO L272 TraceCheckUtils]: 12: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {3792#true} is VALID [2022-04-28 05:36:39,293 INFO L290 TraceCheckUtils]: 11: Hoare triple {3792#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3792#true} is VALID [2022-04-28 05:36:39,293 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-28 05:36:39,293 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:39,293 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-28 05:36:39,293 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-28 05:36:39,293 INFO L272 TraceCheckUtils]: 6: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {3792#true} is VALID [2022-04-28 05:36:39,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {3792#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3792#true} is VALID [2022-04-28 05:36:39,293 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-28 05:36:39,294 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-28 05:36:39,294 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-28 05:36:39,294 INFO L290 TraceCheckUtils]: 1: Hoare triple {3792#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3792#true} is VALID [2022-04-28 05:36:39,294 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-28 05:36:39,294 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 05:36:39,294 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:36:39,294 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1272938186] [2022-04-28 05:36:39,294 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:36:39,294 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [758296815] [2022-04-28 05:36:39,294 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [758296815] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:36:39,295 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:36:39,295 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 6] total 11 [2022-04-28 05:36:39,295 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:36:39,295 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [747685755] [2022-04-28 05:36:39,295 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [747685755] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:36:39,295 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:36:39,295 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 05:36:39,295 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1751343281] [2022-04-28 05:36:39,295 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:36:39,296 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 56 [2022-04-28 05:36:39,296 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:36:39,296 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:36:39,327 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 05:36:39,327 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 05:36:39,327 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:39,327 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 05:36:39,327 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2022-04-28 05:36:39,328 INFO L87 Difference]: Start difference. First operand 84 states and 105 transitions. Second operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:36:40,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:40,147 INFO L93 Difference]: Finished difference Result 118 states and 147 transitions. [2022-04-28 05:36:40,147 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 05:36:40,147 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 56 [2022-04-28 05:36:40,147 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:36:40,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:36:40,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 75 transitions. [2022-04-28 05:36:40,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:36:40,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 75 transitions. [2022-04-28 05:36:40,150 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 75 transitions. [2022-04-28 05:36:40,215 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:40,217 INFO L225 Difference]: With dead ends: 118 [2022-04-28 05:36:40,217 INFO L226 Difference]: Without dead ends: 116 [2022-04-28 05:36:40,218 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 101 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2022-04-28 05:36:40,218 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 19 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 232 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 242 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 232 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 05:36:40,218 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 184 Invalid, 242 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 232 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 05:36:40,218 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-28 05:36:40,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 112. [2022-04-28 05:36:40,302 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:36:40,302 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 05:36:40,303 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 05:36:40,303 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 05:36:40,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:40,306 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-28 05:36:40,306 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-28 05:36:40,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:40,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:40,307 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-28 05:36:40,307 INFO L87 Difference]: Start difference. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-28 05:36:40,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:40,310 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-28 05:36:40,310 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-28 05:36:40,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:40,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:40,311 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:36:40,311 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:36:40,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 05:36:40,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 138 transitions. [2022-04-28 05:36:40,315 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 138 transitions. Word has length 56 [2022-04-28 05:36:40,315 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:36:40,315 INFO L495 AbstractCegarLoop]: Abstraction has 112 states and 138 transitions. [2022-04-28 05:36:40,315 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 05:36:40,315 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 138 transitions. [2022-04-28 05:36:40,475 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:40,475 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 138 transitions. [2022-04-28 05:36:40,475 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 05:36:40,475 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:36:40,476 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:36:40,496 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 05:36:40,676 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 05:36:40,676 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:36:40,677 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:36:40,677 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 1 times [2022-04-28 05:36:40,677 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:40,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1347373663] [2022-04-28 05:36:40,677 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:36:40,677 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 2 times [2022-04-28 05:36:40,677 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:36:40,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [512120260] [2022-04-28 05:36:40,677 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:36:40,678 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:36:40,699 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:36:40,699 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2108064005] [2022-04-28 05:36:40,699 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:36:40,699 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:36:40,699 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:36:40,736 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 05:36:40,736 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 05:36:40,777 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:36:40,777 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:36:40,778 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 05:36:40,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:36:40,788 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:36:41,065 INFO L272 TraceCheckUtils]: 0: Hoare triple {4834#true} call ULTIMATE.init(); {4834#true} is VALID [2022-04-28 05:36:41,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {4834#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4834#true} is VALID [2022-04-28 05:36:41,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,065 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4834#true} {4834#true} #88#return; {4834#true} is VALID [2022-04-28 05:36:41,065 INFO L272 TraceCheckUtils]: 4: Hoare triple {4834#true} call #t~ret6 := main(); {4834#true} is VALID [2022-04-28 05:36:41,065 INFO L290 TraceCheckUtils]: 5: Hoare triple {4834#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4834#true} is VALID [2022-04-28 05:36:41,065 INFO L272 TraceCheckUtils]: 6: Hoare triple {4834#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,066 INFO L290 TraceCheckUtils]: 7: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,066 INFO L290 TraceCheckUtils]: 8: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,066 INFO L290 TraceCheckUtils]: 9: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,066 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4834#true} {4834#true} #66#return; {4834#true} is VALID [2022-04-28 05:36:41,066 INFO L290 TraceCheckUtils]: 11: Hoare triple {4834#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4834#true} is VALID [2022-04-28 05:36:41,066 INFO L272 TraceCheckUtils]: 12: Hoare triple {4834#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,066 INFO L290 TraceCheckUtils]: 13: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,066 INFO L290 TraceCheckUtils]: 14: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,066 INFO L290 TraceCheckUtils]: 15: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,066 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4834#true} {4834#true} #68#return; {4834#true} is VALID [2022-04-28 05:36:41,066 INFO L272 TraceCheckUtils]: 17: Hoare triple {4834#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,066 INFO L290 TraceCheckUtils]: 18: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,066 INFO L290 TraceCheckUtils]: 19: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,067 INFO L290 TraceCheckUtils]: 20: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,067 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4834#true} {4834#true} #70#return; {4834#true} is VALID [2022-04-28 05:36:41,067 INFO L272 TraceCheckUtils]: 22: Hoare triple {4834#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,067 INFO L290 TraceCheckUtils]: 23: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,067 INFO L290 TraceCheckUtils]: 24: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,067 INFO L290 TraceCheckUtils]: 25: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,067 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4834#true} {4834#true} #72#return; {4834#true} is VALID [2022-04-28 05:36:41,068 INFO L290 TraceCheckUtils]: 27: Hoare triple {4834#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4920#(and (= 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 05:36:41,068 INFO L290 TraceCheckUtils]: 28: Hoare triple {4920#(and (= 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; {4920#(and (= 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 05:36:41,068 INFO L272 TraceCheckUtils]: 29: Hoare triple {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,068 INFO L290 TraceCheckUtils]: 30: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,068 INFO L290 TraceCheckUtils]: 31: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,068 INFO L290 TraceCheckUtils]: 32: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,069 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4834#true} {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {4920#(and (= 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 05:36:41,069 INFO L272 TraceCheckUtils]: 34: Hoare triple {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,069 INFO L290 TraceCheckUtils]: 35: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,069 INFO L290 TraceCheckUtils]: 36: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,069 INFO L290 TraceCheckUtils]: 37: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,070 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4834#true} {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {4920#(and (= 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 05:36:41,070 INFO L272 TraceCheckUtils]: 39: Hoare triple {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,070 INFO L290 TraceCheckUtils]: 40: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,070 INFO L290 TraceCheckUtils]: 41: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,070 INFO L290 TraceCheckUtils]: 42: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,071 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4834#true} {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {4920#(and (= 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 05:36:41,071 INFO L290 TraceCheckUtils]: 44: Hoare triple {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {4920#(and (= 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 05:36:41,072 INFO L290 TraceCheckUtils]: 45: Hoare triple {4920#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 05:36:41,072 INFO L290 TraceCheckUtils]: 46: Hoare triple {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} assume !false; {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 05:36:41,072 INFO L272 TraceCheckUtils]: 47: Hoare triple {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,072 INFO L290 TraceCheckUtils]: 48: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,072 INFO L290 TraceCheckUtils]: 49: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,072 INFO L290 TraceCheckUtils]: 50: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,073 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4834#true} {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #74#return; {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 05:36:41,073 INFO L272 TraceCheckUtils]: 52: Hoare triple {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,073 INFO L290 TraceCheckUtils]: 53: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,073 INFO L290 TraceCheckUtils]: 54: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,073 INFO L290 TraceCheckUtils]: 55: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,074 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4834#true} {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #76#return; {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 05:36:41,075 INFO L272 TraceCheckUtils]: 57: Hoare triple {4975#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5012#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:36:41,075 INFO L290 TraceCheckUtils]: 58: Hoare triple {5012#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5016#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:41,075 INFO L290 TraceCheckUtils]: 59: Hoare triple {5016#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4835#false} is VALID [2022-04-28 05:36:41,075 INFO L290 TraceCheckUtils]: 60: Hoare triple {4835#false} assume !false; {4835#false} is VALID [2022-04-28 05:36:41,076 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 05:36:41,076 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:36:41,284 INFO L290 TraceCheckUtils]: 60: Hoare triple {4835#false} assume !false; {4835#false} is VALID [2022-04-28 05:36:41,285 INFO L290 TraceCheckUtils]: 59: Hoare triple {5016#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4835#false} is VALID [2022-04-28 05:36:41,285 INFO L290 TraceCheckUtils]: 58: Hoare triple {5012#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5016#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:41,299 INFO L272 TraceCheckUtils]: 57: Hoare triple {5032#(= 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)); {5012#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:36:41,300 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4834#true} {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:36:41,300 INFO L290 TraceCheckUtils]: 55: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,300 INFO L290 TraceCheckUtils]: 54: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,300 INFO L290 TraceCheckUtils]: 53: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,300 INFO L272 TraceCheckUtils]: 52: Hoare triple {5032#(= 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)); {4834#true} is VALID [2022-04-28 05:36:41,301 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4834#true} {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:36:41,301 INFO L290 TraceCheckUtils]: 50: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,301 INFO L290 TraceCheckUtils]: 49: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,301 INFO L290 TraceCheckUtils]: 48: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,301 INFO L272 TraceCheckUtils]: 47: Hoare triple {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,301 INFO L290 TraceCheckUtils]: 46: Hoare triple {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:36:41,588 INFO L290 TraceCheckUtils]: 45: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {5032#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:36:41,588 INFO L290 TraceCheckUtils]: 44: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 05:36:41,589 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4834#true} {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #78#return; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 05:36:41,589 INFO L290 TraceCheckUtils]: 42: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,589 INFO L290 TraceCheckUtils]: 41: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,589 INFO L290 TraceCheckUtils]: 40: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,589 INFO L272 TraceCheckUtils]: 39: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,590 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4834#true} {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #76#return; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 05:36:41,590 INFO L290 TraceCheckUtils]: 37: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,590 INFO L290 TraceCheckUtils]: 36: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,590 INFO L290 TraceCheckUtils]: 35: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,590 INFO L272 TraceCheckUtils]: 34: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,591 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4834#true} {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #74#return; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 05:36:41,591 INFO L290 TraceCheckUtils]: 32: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,591 INFO L290 TraceCheckUtils]: 31: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,591 INFO L290 TraceCheckUtils]: 30: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,591 INFO L272 TraceCheckUtils]: 29: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,591 INFO L290 TraceCheckUtils]: 28: Hoare triple {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !false; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 05:36:41,592 INFO L290 TraceCheckUtils]: 27: Hoare triple {4834#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5069#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 05:36:41,592 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4834#true} {4834#true} #72#return; {4834#true} is VALID [2022-04-28 05:36:41,592 INFO L290 TraceCheckUtils]: 25: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,592 INFO L290 TraceCheckUtils]: 24: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,592 INFO L290 TraceCheckUtils]: 23: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,592 INFO L272 TraceCheckUtils]: 22: Hoare triple {4834#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,592 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4834#true} {4834#true} #70#return; {4834#true} is VALID [2022-04-28 05:36:41,592 INFO L290 TraceCheckUtils]: 20: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,592 INFO L290 TraceCheckUtils]: 19: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,593 INFO L290 TraceCheckUtils]: 18: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,593 INFO L272 TraceCheckUtils]: 17: Hoare triple {4834#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,593 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4834#true} {4834#true} #68#return; {4834#true} is VALID [2022-04-28 05:36:41,593 INFO L290 TraceCheckUtils]: 15: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,593 INFO L290 TraceCheckUtils]: 14: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,593 INFO L290 TraceCheckUtils]: 13: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,593 INFO L272 TraceCheckUtils]: 12: Hoare triple {4834#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,593 INFO L290 TraceCheckUtils]: 11: Hoare triple {4834#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4834#true} is VALID [2022-04-28 05:36:41,593 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4834#true} {4834#true} #66#return; {4834#true} is VALID [2022-04-28 05:36:41,593 INFO L290 TraceCheckUtils]: 9: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,593 INFO L290 TraceCheckUtils]: 8: Hoare triple {4834#true} assume !(0 == ~cond); {4834#true} is VALID [2022-04-28 05:36:41,593 INFO L290 TraceCheckUtils]: 7: Hoare triple {4834#true} ~cond := #in~cond; {4834#true} is VALID [2022-04-28 05:36:41,594 INFO L272 TraceCheckUtils]: 6: Hoare triple {4834#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {4834#true} is VALID [2022-04-28 05:36:41,594 INFO L290 TraceCheckUtils]: 5: Hoare triple {4834#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4834#true} is VALID [2022-04-28 05:36:41,594 INFO L272 TraceCheckUtils]: 4: Hoare triple {4834#true} call #t~ret6 := main(); {4834#true} is VALID [2022-04-28 05:36:41,594 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4834#true} {4834#true} #88#return; {4834#true} is VALID [2022-04-28 05:36:41,594 INFO L290 TraceCheckUtils]: 2: Hoare triple {4834#true} assume true; {4834#true} is VALID [2022-04-28 05:36:41,594 INFO L290 TraceCheckUtils]: 1: Hoare triple {4834#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4834#true} is VALID [2022-04-28 05:36:41,594 INFO L272 TraceCheckUtils]: 0: Hoare triple {4834#true} call ULTIMATE.init(); {4834#true} is VALID [2022-04-28 05:36:41,594 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 05:36:41,594 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:36:41,594 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [512120260] [2022-04-28 05:36:41,595 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:36:41,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2108064005] [2022-04-28 05:36:41,595 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2108064005] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:36:41,595 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:36:41,595 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-28 05:36:41,595 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:36:41,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1347373663] [2022-04-28 05:36:41,595 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1347373663] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:36:41,595 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:36:41,595 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 05:36:41,595 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [850919036] [2022-04-28 05:36:41,595 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:36:41,596 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-28 05:36:41,596 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:36:41,596 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 05:36:41,627 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 05:36:41,627 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 05:36:41,628 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:41,628 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 05:36:41,628 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 05:36:41,628 INFO L87 Difference]: Start difference. First operand 112 states and 138 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 05:36:42,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:42,085 INFO L93 Difference]: Finished difference Result 137 states and 178 transitions. [2022-04-28 05:36:42,085 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 05:36:42,086 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-28 05:36:42,086 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:36:42,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 05:36:42,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-28 05:36:42,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 05:36:42,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-28 05:36:42,094 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-28 05:36:42,160 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:42,162 INFO L225 Difference]: With dead ends: 137 [2022-04-28 05:36:42,162 INFO L226 Difference]: Without dead ends: 131 [2022-04-28 05:36:42,162 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:36:42,163 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 120 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:36:42,163 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 160 Invalid, 120 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:36:42,163 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-28 05:36:42,237 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-28 05:36:42,238 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:36:42,238 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 05:36:42,238 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 05:36:42,238 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 05:36:42,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:42,243 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-28 05:36:42,244 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-28 05:36:42,244 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:42,244 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:42,244 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-28 05:36:42,244 INFO L87 Difference]: Start difference. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-28 05:36:42,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:42,248 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-28 05:36:42,248 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-28 05:36:42,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:42,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:42,249 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:36:42,249 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:36:42,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 05:36:42,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 167 transitions. [2022-04-28 05:36:42,252 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 167 transitions. Word has length 61 [2022-04-28 05:36:42,253 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:36:42,253 INFO L495 AbstractCegarLoop]: Abstraction has 131 states and 167 transitions. [2022-04-28 05:36:42,253 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 05:36:42,253 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 167 transitions. [2022-04-28 05:36:42,433 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:42,433 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-28 05:36:42,433 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 05:36:42,433 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:36:42,434 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:36:42,452 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 05:36:42,634 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 05:36:42,634 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:36:42,635 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:36:42,635 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 1 times [2022-04-28 05:36:42,635 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:42,635 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1907488276] [2022-04-28 05:36:42,635 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:36:42,635 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 2 times [2022-04-28 05:36:42,635 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:36:42,635 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1101925449] [2022-04-28 05:36:42,635 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:36:42,636 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:36:42,646 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:36:42,646 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [844166685] [2022-04-28 05:36:42,647 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:36:42,647 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:36:42,647 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:36:42,648 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 05:36:42,649 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 05:36:42,693 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:36:42,693 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:36:42,694 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 05:36:42,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:36:42,705 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:36:43,013 INFO L272 TraceCheckUtils]: 0: Hoare triple {6007#true} call ULTIMATE.init(); {6007#true} is VALID [2022-04-28 05:36:43,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {6007#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6007#true} is VALID [2022-04-28 05:36:43,014 INFO L290 TraceCheckUtils]: 2: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,014 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6007#true} {6007#true} #88#return; {6007#true} is VALID [2022-04-28 05:36:43,014 INFO L272 TraceCheckUtils]: 4: Hoare triple {6007#true} call #t~ret6 := main(); {6007#true} is VALID [2022-04-28 05:36:43,014 INFO L290 TraceCheckUtils]: 5: Hoare triple {6007#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6007#true} is VALID [2022-04-28 05:36:43,014 INFO L272 TraceCheckUtils]: 6: Hoare triple {6007#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,014 INFO L290 TraceCheckUtils]: 7: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,014 INFO L290 TraceCheckUtils]: 8: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,014 INFO L290 TraceCheckUtils]: 9: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,014 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6007#true} {6007#true} #66#return; {6007#true} is VALID [2022-04-28 05:36:43,014 INFO L290 TraceCheckUtils]: 11: Hoare triple {6007#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6007#true} is VALID [2022-04-28 05:36:43,014 INFO L272 TraceCheckUtils]: 12: Hoare triple {6007#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,015 INFO L290 TraceCheckUtils]: 13: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,015 INFO L290 TraceCheckUtils]: 14: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,015 INFO L290 TraceCheckUtils]: 15: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,015 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6007#true} {6007#true} #68#return; {6007#true} is VALID [2022-04-28 05:36:43,015 INFO L272 TraceCheckUtils]: 17: Hoare triple {6007#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,015 INFO L290 TraceCheckUtils]: 18: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,015 INFO L290 TraceCheckUtils]: 19: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,015 INFO L290 TraceCheckUtils]: 20: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,015 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6007#true} {6007#true} #70#return; {6007#true} is VALID [2022-04-28 05:36:43,015 INFO L272 TraceCheckUtils]: 22: Hoare triple {6007#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,015 INFO L290 TraceCheckUtils]: 23: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,015 INFO L290 TraceCheckUtils]: 24: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,015 INFO L290 TraceCheckUtils]: 25: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,015 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6007#true} {6007#true} #72#return; {6007#true} is VALID [2022-04-28 05:36:43,016 INFO L290 TraceCheckUtils]: 27: Hoare triple {6007#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:43,016 INFO L290 TraceCheckUtils]: 28: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:43,016 INFO L272 TraceCheckUtils]: 29: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,017 INFO L290 TraceCheckUtils]: 30: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,017 INFO L290 TraceCheckUtils]: 31: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,017 INFO L290 TraceCheckUtils]: 32: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,017 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6007#true} {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:43,017 INFO L272 TraceCheckUtils]: 34: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,017 INFO L290 TraceCheckUtils]: 35: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,017 INFO L290 TraceCheckUtils]: 36: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,018 INFO L290 TraceCheckUtils]: 37: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,019 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6007#true} {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:43,019 INFO L272 TraceCheckUtils]: 39: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,019 INFO L290 TraceCheckUtils]: 40: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,019 INFO L290 TraceCheckUtils]: 41: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,019 INFO L290 TraceCheckUtils]: 42: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,020 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6007#true} {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:43,020 INFO L290 TraceCheckUtils]: 44: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:43,021 INFO L290 TraceCheckUtils]: 45: Hoare triple {6093#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 05:36:43,021 INFO L290 TraceCheckUtils]: 46: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !false; {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 05:36:43,021 INFO L272 TraceCheckUtils]: 47: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,021 INFO L290 TraceCheckUtils]: 48: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,021 INFO L290 TraceCheckUtils]: 49: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,021 INFO L290 TraceCheckUtils]: 50: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,022 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6007#true} {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #74#return; {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 05:36:43,022 INFO L272 TraceCheckUtils]: 52: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,022 INFO L290 TraceCheckUtils]: 53: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,022 INFO L290 TraceCheckUtils]: 54: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,022 INFO L290 TraceCheckUtils]: 55: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,023 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6007#true} {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #76#return; {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 05:36:43,023 INFO L272 TraceCheckUtils]: 57: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,023 INFO L290 TraceCheckUtils]: 58: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,023 INFO L290 TraceCheckUtils]: 59: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,023 INFO L290 TraceCheckUtils]: 60: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,028 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6007#true} {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #78#return; {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 05:36:43,029 INFO L290 TraceCheckUtils]: 62: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 05:36:43,029 INFO L290 TraceCheckUtils]: 63: Hoare triple {6148#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6203#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:36:43,029 INFO L290 TraceCheckUtils]: 64: Hoare triple {6203#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {6203#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:36:43,030 INFO L272 TraceCheckUtils]: 65: Hoare triple {6203#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6210#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:36:43,041 INFO L290 TraceCheckUtils]: 66: Hoare triple {6210#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6214#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:43,042 INFO L290 TraceCheckUtils]: 67: Hoare triple {6214#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6008#false} is VALID [2022-04-28 05:36:43,042 INFO L290 TraceCheckUtils]: 68: Hoare triple {6008#false} assume !false; {6008#false} is VALID [2022-04-28 05:36:43,042 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 05:36:43,042 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:36:43,317 INFO L290 TraceCheckUtils]: 68: Hoare triple {6008#false} assume !false; {6008#false} is VALID [2022-04-28 05:36:43,318 INFO L290 TraceCheckUtils]: 67: Hoare triple {6214#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6008#false} is VALID [2022-04-28 05:36:43,318 INFO L290 TraceCheckUtils]: 66: Hoare triple {6210#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6214#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:43,318 INFO L272 TraceCheckUtils]: 65: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6210#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:36:43,319 INFO L290 TraceCheckUtils]: 64: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:36:43,321 INFO L290 TraceCheckUtils]: 63: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:36:43,322 INFO L290 TraceCheckUtils]: 62: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:36:43,322 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #78#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:36:43,322 INFO L290 TraceCheckUtils]: 60: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,322 INFO L290 TraceCheckUtils]: 59: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,322 INFO L290 TraceCheckUtils]: 58: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,322 INFO L272 TraceCheckUtils]: 57: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,323 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #76#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:36:43,323 INFO L290 TraceCheckUtils]: 55: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,323 INFO L290 TraceCheckUtils]: 54: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,323 INFO L290 TraceCheckUtils]: 53: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,323 INFO L272 TraceCheckUtils]: 52: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,324 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #74#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:36:43,324 INFO L290 TraceCheckUtils]: 50: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,324 INFO L290 TraceCheckUtils]: 49: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,324 INFO L290 TraceCheckUtils]: 48: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,324 INFO L272 TraceCheckUtils]: 47: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,324 INFO L290 TraceCheckUtils]: 46: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:36:43,326 INFO L290 TraceCheckUtils]: 45: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:36:43,327 INFO L290 TraceCheckUtils]: 44: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:36:43,327 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #78#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:36:43,327 INFO L290 TraceCheckUtils]: 42: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,327 INFO L290 TraceCheckUtils]: 41: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,328 INFO L290 TraceCheckUtils]: 40: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,328 INFO L272 TraceCheckUtils]: 39: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,328 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #76#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:36:43,328 INFO L290 TraceCheckUtils]: 37: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,328 INFO L290 TraceCheckUtils]: 36: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,328 INFO L290 TraceCheckUtils]: 35: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,328 INFO L272 TraceCheckUtils]: 34: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,329 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6007#true} {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #74#return; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:36:43,329 INFO L290 TraceCheckUtils]: 32: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,329 INFO L290 TraceCheckUtils]: 31: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,329 INFO L290 TraceCheckUtils]: 30: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,329 INFO L272 TraceCheckUtils]: 29: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,329 INFO L290 TraceCheckUtils]: 28: Hoare triple {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:36:43,330 INFO L290 TraceCheckUtils]: 27: Hoare triple {6007#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6230#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 05:36:43,330 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6007#true} {6007#true} #72#return; {6007#true} is VALID [2022-04-28 05:36:43,330 INFO L290 TraceCheckUtils]: 25: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,330 INFO L290 TraceCheckUtils]: 24: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,330 INFO L290 TraceCheckUtils]: 23: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,330 INFO L272 TraceCheckUtils]: 22: Hoare triple {6007#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,330 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6007#true} {6007#true} #70#return; {6007#true} is VALID [2022-04-28 05:36:43,330 INFO L290 TraceCheckUtils]: 20: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,330 INFO L290 TraceCheckUtils]: 19: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,330 INFO L290 TraceCheckUtils]: 18: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,330 INFO L272 TraceCheckUtils]: 17: Hoare triple {6007#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,331 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6007#true} {6007#true} #68#return; {6007#true} is VALID [2022-04-28 05:36:43,331 INFO L290 TraceCheckUtils]: 15: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,331 INFO L290 TraceCheckUtils]: 14: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,331 INFO L290 TraceCheckUtils]: 13: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,331 INFO L272 TraceCheckUtils]: 12: Hoare triple {6007#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,331 INFO L290 TraceCheckUtils]: 11: Hoare triple {6007#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6007#true} is VALID [2022-04-28 05:36:43,331 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6007#true} {6007#true} #66#return; {6007#true} is VALID [2022-04-28 05:36:43,331 INFO L290 TraceCheckUtils]: 9: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,331 INFO L290 TraceCheckUtils]: 8: Hoare triple {6007#true} assume !(0 == ~cond); {6007#true} is VALID [2022-04-28 05:36:43,331 INFO L290 TraceCheckUtils]: 7: Hoare triple {6007#true} ~cond := #in~cond; {6007#true} is VALID [2022-04-28 05:36:43,331 INFO L272 TraceCheckUtils]: 6: Hoare triple {6007#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {6007#true} is VALID [2022-04-28 05:36:43,331 INFO L290 TraceCheckUtils]: 5: Hoare triple {6007#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6007#true} is VALID [2022-04-28 05:36:43,331 INFO L272 TraceCheckUtils]: 4: Hoare triple {6007#true} call #t~ret6 := main(); {6007#true} is VALID [2022-04-28 05:36:43,331 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6007#true} {6007#true} #88#return; {6007#true} is VALID [2022-04-28 05:36:43,332 INFO L290 TraceCheckUtils]: 2: Hoare triple {6007#true} assume true; {6007#true} is VALID [2022-04-28 05:36:43,332 INFO L290 TraceCheckUtils]: 1: Hoare triple {6007#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6007#true} is VALID [2022-04-28 05:36:43,332 INFO L272 TraceCheckUtils]: 0: Hoare triple {6007#true} call ULTIMATE.init(); {6007#true} is VALID [2022-04-28 05:36:43,332 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 94 trivial. 0 not checked. [2022-04-28 05:36:43,332 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:36:43,332 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1101925449] [2022-04-28 05:36:43,332 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:36:43,332 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [844166685] [2022-04-28 05:36:43,332 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [844166685] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 05:36:43,332 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:36:43,332 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-28 05:36:43,333 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:36:43,333 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1907488276] [2022-04-28 05:36:43,333 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1907488276] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:36:43,333 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:36:43,333 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:36:43,333 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1090407027] [2022-04-28 05:36:43,333 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:36:43,333 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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 69 [2022-04-28 05:36:43,334 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:36:43,334 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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 05:36:43,362 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 05:36:43,362 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:36:43,362 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:43,363 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:36:43,363 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 05:36:43,363 INFO L87 Difference]: Start difference. First operand 131 states and 167 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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 05:36:43,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:43,597 INFO L93 Difference]: Finished difference Result 137 states and 172 transitions. [2022-04-28 05:36:43,597 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:36:43,598 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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 69 [2022-04-28 05:36:43,598 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:36:43,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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 05:36:43,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 05:36:43,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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 05:36:43,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 05:36:43,599 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-28 05:36:43,632 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:43,634 INFO L225 Difference]: With dead ends: 137 [2022-04-28 05:36:43,634 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 05:36:43,635 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 128 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:36:43,635 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 6 mSDsluCounter, 80 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:36:43,635 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 116 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:36:43,636 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 05:36:43,709 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-28 05:36:43,710 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:36:43,710 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 05:36:43,710 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 05:36:43,710 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 05:36:43,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:43,713 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-28 05:36:43,713 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-28 05:36:43,713 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:43,714 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:43,714 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 132 states. [2022-04-28 05:36:43,714 INFO L87 Difference]: Start difference. First operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 132 states. [2022-04-28 05:36:43,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:36:43,717 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-28 05:36:43,717 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-28 05:36:43,717 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:36:43,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:36:43,717 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:36:43,717 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:36:43,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 05:36:43,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 164 transitions. [2022-04-28 05:36:43,720 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 164 transitions. Word has length 69 [2022-04-28 05:36:43,720 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:36:43,720 INFO L495 AbstractCegarLoop]: Abstraction has 132 states and 164 transitions. [2022-04-28 05:36:43,721 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (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 05:36:43,721 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 164 transitions. [2022-04-28 05:36:43,922 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:36:43,922 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-28 05:36:43,930 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 05:36:43,931 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:36:43,931 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:36:43,948 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 05:36:44,147 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 05:36:44,148 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:36:44,148 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:36:44,148 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 5 times [2022-04-28 05:36:44,148 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:36:44,148 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1728974638] [2022-04-28 05:36:44,149 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:36:44,149 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 6 times [2022-04-28 05:36:44,149 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:36:44,149 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2127499382] [2022-04-28 05:36:44,149 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:36:44,149 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:36:44,165 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:36:44,165 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1360655945] [2022-04-28 05:36:44,165 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:36:44,165 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:36:44,166 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:36:44,166 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 05:36:44,183 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 05:36:44,233 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 05:36:44,234 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:36:44,235 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 05:36:44,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:36:44,251 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:36:46,055 INFO L272 TraceCheckUtils]: 0: Hoare triple {7232#true} call ULTIMATE.init(); {7232#true} is VALID [2022-04-28 05:36:46,056 INFO L290 TraceCheckUtils]: 1: Hoare triple {7232#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {7232#true} is VALID [2022-04-28 05:36:46,056 INFO L290 TraceCheckUtils]: 2: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 05:36:46,056 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7232#true} {7232#true} #88#return; {7232#true} is VALID [2022-04-28 05:36:46,056 INFO L272 TraceCheckUtils]: 4: Hoare triple {7232#true} call #t~ret6 := main(); {7232#true} is VALID [2022-04-28 05:36:46,056 INFO L290 TraceCheckUtils]: 5: Hoare triple {7232#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7232#true} is VALID [2022-04-28 05:36:46,056 INFO L272 TraceCheckUtils]: 6: Hoare triple {7232#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {7232#true} is VALID [2022-04-28 05:36:46,056 INFO L290 TraceCheckUtils]: 7: Hoare triple {7232#true} ~cond := #in~cond; {7258#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:36:46,057 INFO L290 TraceCheckUtils]: 8: Hoare triple {7258#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7262#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:36:46,057 INFO L290 TraceCheckUtils]: 9: Hoare triple {7262#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7262#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:36:46,058 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7262#(not (= |assume_abort_if_not_#in~cond| 0))} {7232#true} #66#return; {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 05:36:46,058 INFO L290 TraceCheckUtils]: 11: Hoare triple {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 05:36:46,058 INFO L272 TraceCheckUtils]: 12: Hoare triple {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {7232#true} is VALID [2022-04-28 05:36:46,058 INFO L290 TraceCheckUtils]: 13: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 05:36:46,058 INFO L290 TraceCheckUtils]: 14: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 05:36:46,058 INFO L290 TraceCheckUtils]: 15: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 05:36:46,059 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7232#true} {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} #68#return; {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 05:36:46,059 INFO L272 TraceCheckUtils]: 17: Hoare triple {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7232#true} is VALID [2022-04-28 05:36:46,059 INFO L290 TraceCheckUtils]: 18: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 05:36:46,059 INFO L290 TraceCheckUtils]: 19: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 05:36:46,059 INFO L290 TraceCheckUtils]: 20: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 05:36:46,059 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7232#true} {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} #70#return; {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 05:36:46,059 INFO L272 TraceCheckUtils]: 22: Hoare triple {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7232#true} is VALID [2022-04-28 05:36:46,060 INFO L290 TraceCheckUtils]: 23: Hoare triple {7232#true} ~cond := #in~cond; {7258#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:36:46,060 INFO L290 TraceCheckUtils]: 24: Hoare triple {7258#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7262#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:36:46,060 INFO L290 TraceCheckUtils]: 25: Hoare triple {7262#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7262#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:36:46,061 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7262#(not (= |assume_abort_if_not_#in~cond| 0))} {7269#(and (<= 0 main_~x~0) (<= main_~x~0 5))} #72#return; {7318#(and (<= 0 main_~x~0) (<= main_~x~0 5) (<= 1 main_~y~0))} is VALID [2022-04-28 05:36:46,061 INFO L290 TraceCheckUtils]: 27: Hoare triple {7318#(and (<= 0 main_~x~0) (<= main_~x~0 5) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:46,061 INFO L290 TraceCheckUtils]: 28: Hoare triple {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !false; {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:46,062 INFO L272 TraceCheckUtils]: 29: Hoare triple {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 05:36:46,062 INFO L290 TraceCheckUtils]: 30: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 05:36:46,062 INFO L290 TraceCheckUtils]: 31: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 05:36:46,062 INFO L290 TraceCheckUtils]: 32: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 05:36:46,072 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7232#true} {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #74#return; {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:46,072 INFO L272 TraceCheckUtils]: 34: Hoare triple {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 05:36:46,072 INFO L290 TraceCheckUtils]: 35: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 05:36:46,072 INFO L290 TraceCheckUtils]: 36: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 05:36:46,072 INFO L290 TraceCheckUtils]: 37: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 05:36:46,073 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7232#true} {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #76#return; {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:46,073 INFO L272 TraceCheckUtils]: 39: Hoare triple {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 05:36:46,073 INFO L290 TraceCheckUtils]: 40: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 05:36:46,073 INFO L290 TraceCheckUtils]: 41: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 05:36:46,073 INFO L290 TraceCheckUtils]: 42: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 05:36:46,074 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7232#true} {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #78#return; {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:46,074 INFO L290 TraceCheckUtils]: 44: Hoare triple {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:46,075 INFO L290 TraceCheckUtils]: 45: Hoare triple {7322#(and (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7377#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 05:36:46,075 INFO L290 TraceCheckUtils]: 46: Hoare triple {7377#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !false; {7377#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 05:36:46,076 INFO L272 TraceCheckUtils]: 47: Hoare triple {7377#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 05:36:46,076 INFO L290 TraceCheckUtils]: 48: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 05:36:46,076 INFO L290 TraceCheckUtils]: 49: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 05:36:46,076 INFO L290 TraceCheckUtils]: 50: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 05:36:46,076 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7232#true} {7377#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} #74#return; {7377#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 05:36:46,076 INFO L272 TraceCheckUtils]: 52: Hoare triple {7377#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 05:36:46,077 INFO L290 TraceCheckUtils]: 53: Hoare triple {7232#true} ~cond := #in~cond; {7402#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:46,077 INFO L290 TraceCheckUtils]: 54: Hoare triple {7402#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:36:46,077 INFO L290 TraceCheckUtils]: 55: Hoare triple {7406#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:36:46,078 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7406#(not (= |__VERIFIER_assert_#in~cond| 0))} {7377#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} #76#return; {7413#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 05:36:46,078 INFO L272 TraceCheckUtils]: 57: Hoare triple {7413#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 05:36:46,078 INFO L290 TraceCheckUtils]: 58: Hoare triple {7232#true} ~cond := #in~cond; {7232#true} is VALID [2022-04-28 05:36:46,078 INFO L290 TraceCheckUtils]: 59: Hoare triple {7232#true} assume !(0 == ~cond); {7232#true} is VALID [2022-04-28 05:36:46,079 INFO L290 TraceCheckUtils]: 60: Hoare triple {7232#true} assume true; {7232#true} is VALID [2022-04-28 05:36:46,079 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7232#true} {7413#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} #78#return; {7413#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 05:36:46,080 INFO L290 TraceCheckUtils]: 62: Hoare triple {7413#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {7413#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 05:36:46,082 INFO L290 TraceCheckUtils]: 63: Hoare triple {7413#(and (<= main_~x~0 (+ main_~b~0 main_~a~0)) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~x~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= (+ main_~s~0 main_~r~0) 0) (= main_~q~0 0) (<= 1 main_~y~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7435#(and (<= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (<= main_~x~0 5) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0) (+ (* main_~y~0 main_~r~0) main_~x~0 (* main_~y~0 main_~s~0))) (< 0 main_~a~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= (+ (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* 2 (* main_~y~0 main_~s~0)) main_~x~0 (* (* main_~y~0 main_~r~0) 2))))} is VALID [2022-04-28 05:36:46,082 INFO L290 TraceCheckUtils]: 64: Hoare triple {7435#(and (<= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (<= main_~x~0 5) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0) (+ (* main_~y~0 main_~r~0) main_~x~0 (* main_~y~0 main_~s~0))) (< 0 main_~a~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= (+ (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* 2 (* main_~y~0 main_~s~0)) main_~x~0 (* (* main_~y~0 main_~r~0) 2))))} assume !false; {7435#(and (<= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (<= main_~x~0 5) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0) (+ (* main_~y~0 main_~r~0) main_~x~0 (* main_~y~0 main_~s~0))) (< 0 main_~a~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= (+ (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* 2 (* main_~y~0 main_~s~0)) main_~x~0 (* (* main_~y~0 main_~r~0) 2))))} is VALID [2022-04-28 05:36:46,083 INFO L272 TraceCheckUtils]: 65: Hoare triple {7435#(and (<= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (<= main_~x~0 5) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0) (+ (* main_~y~0 main_~r~0) main_~x~0 (* main_~y~0 main_~s~0))) (< 0 main_~a~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= (+ (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* 2 (* main_~y~0 main_~s~0)) main_~x~0 (* (* main_~y~0 main_~r~0) 2))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7232#true} is VALID [2022-04-28 05:36:46,083 INFO L290 TraceCheckUtils]: 66: Hoare triple {7232#true} ~cond := #in~cond; {7402#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:46,083 INFO L290 TraceCheckUtils]: 67: Hoare triple {7402#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:36:46,083 INFO L290 TraceCheckUtils]: 68: Hoare triple {7406#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:36:46,086 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7406#(not (= |__VERIFIER_assert_#in~cond| 0))} {7435#(and (<= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (<= main_~x~0 5) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0) (+ (* main_~y~0 main_~r~0) main_~x~0 (* main_~y~0 main_~s~0))) (< 0 main_~a~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= (+ (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* 2 (* main_~y~0 main_~s~0)) main_~x~0 (* (* main_~y~0 main_~r~0) 2))))} #74#return; {7454#(and (= (+ main_~a~0 main_~y~0) (+ (* main_~y~0 main_~r~0) main_~y~0 main_~x~0)) (<= (+ main_~r~0 2) 0) (<= main_~a~0 (+ main_~x~0 (* (* main_~y~0 main_~r~0) 2) (* main_~y~0 2))) (<= main_~x~0 5) (< 0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 05:36:46,086 INFO L272 TraceCheckUtils]: 70: Hoare triple {7454#(and (= (+ main_~a~0 main_~y~0) (+ (* main_~y~0 main_~r~0) main_~y~0 main_~x~0)) (<= (+ main_~r~0 2) 0) (<= main_~a~0 (+ main_~x~0 (* (* main_~y~0 main_~r~0) 2) (* main_~y~0 2))) (<= main_~x~0 5) (< 0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7458#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:36:46,087 INFO L290 TraceCheckUtils]: 71: Hoare triple {7458#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7462#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:36:46,087 INFO L290 TraceCheckUtils]: 72: Hoare triple {7462#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7233#false} is VALID [2022-04-28 05:36:46,087 INFO L290 TraceCheckUtils]: 73: Hoare triple {7233#false} assume !false; {7233#false} is VALID [2022-04-28 05:36:46,087 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 45 proven. 23 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2022-04-28 05:36:46,087 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:38:39,508 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:38:46,610 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:38:46,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2127499382] [2022-04-28 05:38:46,611 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:38:46,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1360655945] [2022-04-28 05:38:46,611 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1360655945] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 05:38:46,611 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:38:46,611 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2022-04-28 05:38:46,611 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:38:46,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1728974638] [2022-04-28 05:38:46,611 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1728974638] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:38:46,611 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:38:46,611 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 05:38:46,611 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1145788161] [2022-04-28 05:38:46,611 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:38:46,612 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 7 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) Word has length 74 [2022-04-28 05:38:46,612 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:38:46,612 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 7 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 05:38:46,665 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 05:38:46,665 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 05:38:46,665 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:38:46,665 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 05:38:46,666 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=72, Invalid=345, Unknown=3, NotChecked=0, Total=420 [2022-04-28 05:38:46,666 INFO L87 Difference]: Start difference. First operand 132 states and 164 transitions. Second operand has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 7 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 05:38:48,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:48,852 INFO L93 Difference]: Finished difference Result 166 states and 206 transitions. [2022-04-28 05:38:48,852 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 05:38:48,852 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 7 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) Word has length 74 [2022-04-28 05:38:48,853 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:38:48,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 7 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 05:38:48,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 95 transitions. [2022-04-28 05:38:48,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 7 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 05:38:48,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 95 transitions. [2022-04-28 05:38:48,855 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 95 transitions. [2022-04-28 05:38:48,963 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 05:38:48,965 INFO L225 Difference]: With dead ends: 166 [2022-04-28 05:38:48,965 INFO L226 Difference]: Without dead ends: 164 [2022-04-28 05:38:48,966 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 113 ImplicationChecksByTransitivity, 6.7s TimeCoverageRelationStatistics Valid=89, Invalid=460, Unknown=3, NotChecked=0, Total=552 [2022-04-28 05:38:48,966 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 39 mSDsluCounter, 116 mSDsCounter, 0 mSdLazyCounter, 494 mSolverCounterSat, 55 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 56 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 549 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 55 IncrementalHoareTripleChecker+Valid, 494 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:38:48,966 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [56 Valid, 152 Invalid, 549 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [55 Valid, 494 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 05:38:48,966 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-28 05:38:49,149 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 150. [2022-04-28 05:38:49,150 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:38:49,150 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 05:38:49,150 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 05:38:49,150 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 05:38:49,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:49,153 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-28 05:38:49,153 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-28 05:38:49,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:38:49,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:38:49,154 INFO L74 IsIncluded]: Start isIncluded. First operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) Second operand 164 states. [2022-04-28 05:38:49,154 INFO L87 Difference]: Start difference. First operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) Second operand 164 states. [2022-04-28 05:38:49,157 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:38:49,157 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-28 05:38:49,157 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-28 05:38:49,157 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:38:49,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:38:49,157 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:38:49,157 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:38:49,158 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 05:38:49,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 183 transitions. [2022-04-28 05:38:49,160 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 183 transitions. Word has length 74 [2022-04-28 05:38:49,160 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:38:49,160 INFO L495 AbstractCegarLoop]: Abstraction has 150 states and 183 transitions. [2022-04-28 05:38:49,160 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 1.9285714285714286) internal successors, (27), 12 states have internal predecessors, (27), 7 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 7 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 05:38:49,161 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 150 states and 183 transitions. [2022-04-28 05:38:49,399 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:38:49,399 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 183 transitions. [2022-04-28 05:38:49,401 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 05:38:49,401 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:38:49,401 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:38:49,417 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 05:38:49,605 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 05:38:49,605 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:38:49,606 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:38:49,606 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 3 times [2022-04-28 05:38:49,606 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:38:49,606 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [736018247] [2022-04-28 05:38:49,606 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:38:49,606 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 4 times [2022-04-28 05:38:49,606 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:38:49,606 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1760750568] [2022-04-28 05:38:49,606 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:38:49,607 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:38:49,620 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:38:49,620 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1396859818] [2022-04-28 05:38:49,620 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:38:49,620 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:38:49,620 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:38:49,621 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 05:38:49,622 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 05:38:49,661 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:38:49,661 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:38:49,662 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-28 05:38:49,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:38:49,674 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:38:50,673 INFO L272 TraceCheckUtils]: 0: Hoare triple {8533#true} call ULTIMATE.init(); {8533#true} is VALID [2022-04-28 05:38:50,673 INFO L290 TraceCheckUtils]: 1: Hoare triple {8533#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {8533#true} is VALID [2022-04-28 05:38:50,673 INFO L290 TraceCheckUtils]: 2: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:38:50,673 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8533#true} {8533#true} #88#return; {8533#true} is VALID [2022-04-28 05:38:50,674 INFO L272 TraceCheckUtils]: 4: Hoare triple {8533#true} call #t~ret6 := main(); {8533#true} is VALID [2022-04-28 05:38:50,674 INFO L290 TraceCheckUtils]: 5: Hoare triple {8533#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8533#true} is VALID [2022-04-28 05:38:50,674 INFO L272 TraceCheckUtils]: 6: Hoare triple {8533#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:38:50,674 INFO L290 TraceCheckUtils]: 7: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:38:50,674 INFO L290 TraceCheckUtils]: 8: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:38:50,674 INFO L290 TraceCheckUtils]: 9: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:38:50,674 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8533#true} {8533#true} #66#return; {8533#true} is VALID [2022-04-28 05:38:50,674 INFO L290 TraceCheckUtils]: 11: Hoare triple {8533#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8533#true} is VALID [2022-04-28 05:38:50,674 INFO L272 TraceCheckUtils]: 12: Hoare triple {8533#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:38:50,674 INFO L290 TraceCheckUtils]: 13: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:38:50,674 INFO L290 TraceCheckUtils]: 14: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:38:50,674 INFO L290 TraceCheckUtils]: 15: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:38:50,674 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8533#true} {8533#true} #68#return; {8533#true} is VALID [2022-04-28 05:38:50,674 INFO L272 TraceCheckUtils]: 17: Hoare triple {8533#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:38:50,675 INFO L290 TraceCheckUtils]: 18: Hoare triple {8533#true} ~cond := #in~cond; {8592#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:38:50,675 INFO L290 TraceCheckUtils]: 19: Hoare triple {8592#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8596#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:38:50,681 INFO L290 TraceCheckUtils]: 20: Hoare triple {8596#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8596#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:38:50,681 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8596#(not (= |assume_abort_if_not_#in~cond| 0))} {8533#true} #70#return; {8603#(<= 1 main_~x~0)} is VALID [2022-04-28 05:38:50,681 INFO L272 TraceCheckUtils]: 22: Hoare triple {8603#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:38:50,681 INFO L290 TraceCheckUtils]: 23: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:38:50,682 INFO L290 TraceCheckUtils]: 24: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:38:50,682 INFO L290 TraceCheckUtils]: 25: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:38:50,682 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8533#true} {8603#(<= 1 main_~x~0)} #72#return; {8603#(<= 1 main_~x~0)} is VALID [2022-04-28 05:38:50,682 INFO L290 TraceCheckUtils]: 27: Hoare triple {8603#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8622#(and (= main_~r~0 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_~p~0 1))} is VALID [2022-04-28 05:38:50,683 INFO L290 TraceCheckUtils]: 28: Hoare triple {8622#(and (= main_~r~0 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_~p~0 1))} assume !false; {8622#(and (= main_~r~0 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_~p~0 1))} is VALID [2022-04-28 05:38:50,683 INFO L272 TraceCheckUtils]: 29: Hoare triple {8622#(and (= main_~r~0 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_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:38:50,683 INFO L290 TraceCheckUtils]: 30: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:38:50,683 INFO L290 TraceCheckUtils]: 31: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:38:50,683 INFO L290 TraceCheckUtils]: 32: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:38:50,684 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8533#true} {8622#(and (= main_~r~0 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_~p~0 1))} #74#return; {8622#(and (= main_~r~0 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_~p~0 1))} is VALID [2022-04-28 05:38:50,684 INFO L272 TraceCheckUtils]: 34: Hoare triple {8622#(and (= main_~r~0 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_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:38:50,684 INFO L290 TraceCheckUtils]: 35: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:38:50,684 INFO L290 TraceCheckUtils]: 36: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:38:50,684 INFO L290 TraceCheckUtils]: 37: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:38:50,685 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8533#true} {8622#(and (= main_~r~0 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_~p~0 1))} #76#return; {8622#(and (= main_~r~0 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_~p~0 1))} is VALID [2022-04-28 05:38:50,685 INFO L272 TraceCheckUtils]: 39: Hoare triple {8622#(and (= main_~r~0 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_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:38:50,685 INFO L290 TraceCheckUtils]: 40: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:38:50,685 INFO L290 TraceCheckUtils]: 41: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:38:50,685 INFO L290 TraceCheckUtils]: 42: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:38:50,686 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8533#true} {8622#(and (= main_~r~0 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_~p~0 1))} #78#return; {8622#(and (= main_~r~0 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_~p~0 1))} is VALID [2022-04-28 05:38:50,686 INFO L290 TraceCheckUtils]: 44: Hoare triple {8622#(and (= main_~r~0 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_~p~0 1))} assume !!(~a~0 != ~b~0); {8674#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:50,687 INFO L290 TraceCheckUtils]: 45: Hoare triple {8674#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:50,688 INFO L290 TraceCheckUtils]: 46: Hoare triple {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:50,688 INFO L272 TraceCheckUtils]: 47: Hoare triple {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:38:50,688 INFO L290 TraceCheckUtils]: 48: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:38:50,688 INFO L290 TraceCheckUtils]: 49: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:38:50,688 INFO L290 TraceCheckUtils]: 50: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:38:50,689 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8533#true} {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #74#return; {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:50,689 INFO L272 TraceCheckUtils]: 52: Hoare triple {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:38:50,689 INFO L290 TraceCheckUtils]: 53: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:38:50,689 INFO L290 TraceCheckUtils]: 54: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:38:50,689 INFO L290 TraceCheckUtils]: 55: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:38:50,690 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8533#true} {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #76#return; {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:50,690 INFO L272 TraceCheckUtils]: 57: Hoare triple {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:38:50,690 INFO L290 TraceCheckUtils]: 58: Hoare triple {8533#true} ~cond := #in~cond; {8718#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:38:50,690 INFO L290 TraceCheckUtils]: 59: Hoare triple {8718#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:38:50,691 INFO L290 TraceCheckUtils]: 60: Hoare triple {8722#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:38:50,691 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8722#(not (= |__VERIFIER_assert_#in~cond| 0))} {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #78#return; {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:50,692 INFO L290 TraceCheckUtils]: 62: Hoare triple {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:38:50,693 INFO L290 TraceCheckUtils]: 63: Hoare triple {8678#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8735#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} is VALID [2022-04-28 05:38:50,693 INFO L290 TraceCheckUtils]: 64: Hoare triple {8735#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} assume !false; {8735#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} is VALID [2022-04-28 05:38:50,693 INFO L272 TraceCheckUtils]: 65: Hoare triple {8735#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:38:50,694 INFO L290 TraceCheckUtils]: 66: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:38:50,694 INFO L290 TraceCheckUtils]: 67: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:38:50,694 INFO L290 TraceCheckUtils]: 68: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:38:50,694 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8533#true} {8735#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} #74#return; {8735#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} is VALID [2022-04-28 05:38:50,695 INFO L272 TraceCheckUtils]: 70: Hoare triple {8735#(and (< main_~y~0 (* main_~x~0 2)) (<= main_~x~0 main_~y~0) (= (+ main_~r~0 1) 0) (= main_~p~0 2) (not (= main_~y~0 main_~x~0)) (= (* main_~x~0 2) (+ main_~a~0 main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8757#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:38:50,695 INFO L290 TraceCheckUtils]: 71: Hoare triple {8757#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8761#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:38:50,696 INFO L290 TraceCheckUtils]: 72: Hoare triple {8761#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8534#false} is VALID [2022-04-28 05:38:50,696 INFO L290 TraceCheckUtils]: 73: Hoare triple {8534#false} assume !false; {8534#false} is VALID [2022-04-28 05:38:50,696 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 34 proven. 19 refuted. 0 times theorem prover too weak. 81 trivial. 0 not checked. [2022-04-28 05:38:50,696 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:39:12,488 INFO L290 TraceCheckUtils]: 73: Hoare triple {8534#false} assume !false; {8534#false} is VALID [2022-04-28 05:39:12,489 INFO L290 TraceCheckUtils]: 72: Hoare triple {8761#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8534#false} is VALID [2022-04-28 05:39:12,489 INFO L290 TraceCheckUtils]: 71: Hoare triple {8757#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8761#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:39:12,490 INFO L272 TraceCheckUtils]: 70: Hoare triple {8777#(= 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)); {8757#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:39:12,490 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8533#true} {8777#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {8777#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:39:12,491 INFO L290 TraceCheckUtils]: 68: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:39:12,491 INFO L290 TraceCheckUtils]: 67: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:39:12,491 INFO L290 TraceCheckUtils]: 66: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:39:12,491 INFO L272 TraceCheckUtils]: 65: Hoare triple {8777#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:39:12,491 INFO L290 TraceCheckUtils]: 64: Hoare triple {8777#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {8777#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:39:12,857 INFO L290 TraceCheckUtils]: 63: Hoare triple {8799#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8777#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:39:12,858 INFO L290 TraceCheckUtils]: 62: Hoare triple {8799#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {8799#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:39:12,859 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8722#(not (= |__VERIFIER_assert_#in~cond| 0))} {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #78#return; {8799#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:39:12,859 INFO L290 TraceCheckUtils]: 60: Hoare triple {8722#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:12,859 INFO L290 TraceCheckUtils]: 59: Hoare triple {8816#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:12,867 INFO L290 TraceCheckUtils]: 58: Hoare triple {8533#true} ~cond := #in~cond; {8816#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:39:12,867 INFO L272 TraceCheckUtils]: 57: Hoare triple {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (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)); {8533#true} is VALID [2022-04-28 05:39:12,868 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8533#true} {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #76#return; {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:39:12,868 INFO L290 TraceCheckUtils]: 55: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:39:12,868 INFO L290 TraceCheckUtils]: 54: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:39:12,868 INFO L290 TraceCheckUtils]: 53: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:39:12,868 INFO L272 TraceCheckUtils]: 52: Hoare triple {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (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)); {8533#true} is VALID [2022-04-28 05:39:12,869 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8533#true} {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #74#return; {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:39:12,869 INFO L290 TraceCheckUtils]: 50: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:39:12,869 INFO L290 TraceCheckUtils]: 49: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:39:12,869 INFO L290 TraceCheckUtils]: 48: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:39:12,869 INFO L272 TraceCheckUtils]: 47: Hoare triple {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:39:12,869 INFO L290 TraceCheckUtils]: 46: Hoare triple {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:39:14,871 WARN L290 TraceCheckUtils]: 45: Hoare triple {8856#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {8806#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is UNKNOWN [2022-04-28 05:39:14,872 INFO L290 TraceCheckUtils]: 44: Hoare triple {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(~a~0 != ~b~0); {8856#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:39:14,872 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8533#true} {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #78#return; {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:39:14,872 INFO L290 TraceCheckUtils]: 42: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:39:14,872 INFO L290 TraceCheckUtils]: 41: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:39:14,873 INFO L290 TraceCheckUtils]: 40: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:39:14,873 INFO L272 TraceCheckUtils]: 39: Hoare triple {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:39:14,873 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8533#true} {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #76#return; {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:39:14,873 INFO L290 TraceCheckUtils]: 37: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:39:14,873 INFO L290 TraceCheckUtils]: 36: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:39:14,873 INFO L290 TraceCheckUtils]: 35: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:39:14,873 INFO L272 TraceCheckUtils]: 34: Hoare triple {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:39:14,874 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8533#true} {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #74#return; {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:39:14,874 INFO L290 TraceCheckUtils]: 32: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:39:14,874 INFO L290 TraceCheckUtils]: 31: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:39:14,874 INFO L290 TraceCheckUtils]: 30: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:39:14,874 INFO L272 TraceCheckUtils]: 29: Hoare triple {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:39:14,875 INFO L290 TraceCheckUtils]: 28: Hoare triple {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !false; {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:39:14,875 INFO L290 TraceCheckUtils]: 27: Hoare triple {8533#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8860#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 05:39:14,876 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8533#true} {8533#true} #72#return; {8533#true} is VALID [2022-04-28 05:39:14,876 INFO L290 TraceCheckUtils]: 25: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:39:14,876 INFO L290 TraceCheckUtils]: 24: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:39:14,876 INFO L290 TraceCheckUtils]: 23: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:39:14,876 INFO L272 TraceCheckUtils]: 22: Hoare triple {8533#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:39:14,876 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8533#true} {8533#true} #70#return; {8533#true} is VALID [2022-04-28 05:39:14,876 INFO L290 TraceCheckUtils]: 20: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:39:14,876 INFO L290 TraceCheckUtils]: 19: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:39:14,876 INFO L290 TraceCheckUtils]: 18: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:39:14,876 INFO L272 TraceCheckUtils]: 17: Hoare triple {8533#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:39:14,876 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8533#true} {8533#true} #68#return; {8533#true} is VALID [2022-04-28 05:39:14,876 INFO L290 TraceCheckUtils]: 15: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:39:14,876 INFO L290 TraceCheckUtils]: 14: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:39:14,876 INFO L290 TraceCheckUtils]: 13: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:39:14,877 INFO L272 TraceCheckUtils]: 12: Hoare triple {8533#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:39:14,877 INFO L290 TraceCheckUtils]: 11: Hoare triple {8533#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8533#true} is VALID [2022-04-28 05:39:14,877 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8533#true} {8533#true} #66#return; {8533#true} is VALID [2022-04-28 05:39:14,877 INFO L290 TraceCheckUtils]: 9: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:39:14,877 INFO L290 TraceCheckUtils]: 8: Hoare triple {8533#true} assume !(0 == ~cond); {8533#true} is VALID [2022-04-28 05:39:14,877 INFO L290 TraceCheckUtils]: 7: Hoare triple {8533#true} ~cond := #in~cond; {8533#true} is VALID [2022-04-28 05:39:14,877 INFO L272 TraceCheckUtils]: 6: Hoare triple {8533#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {8533#true} is VALID [2022-04-28 05:39:14,877 INFO L290 TraceCheckUtils]: 5: Hoare triple {8533#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8533#true} is VALID [2022-04-28 05:39:14,877 INFO L272 TraceCheckUtils]: 4: Hoare triple {8533#true} call #t~ret6 := main(); {8533#true} is VALID [2022-04-28 05:39:14,877 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8533#true} {8533#true} #88#return; {8533#true} is VALID [2022-04-28 05:39:14,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {8533#true} assume true; {8533#true} is VALID [2022-04-28 05:39:14,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {8533#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {8533#true} is VALID [2022-04-28 05:39:14,877 INFO L272 TraceCheckUtils]: 0: Hoare triple {8533#true} call ULTIMATE.init(); {8533#true} is VALID [2022-04-28 05:39:14,878 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 34 proven. 10 refuted. 0 times theorem prover too weak. 90 trivial. 0 not checked. [2022-04-28 05:39:14,878 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:39:14,878 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1760750568] [2022-04-28 05:39:14,878 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:39:14,878 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1396859818] [2022-04-28 05:39:14,878 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1396859818] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:39:14,878 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:39:14,878 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-28 05:39:14,878 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:39:14,878 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [736018247] [2022-04-28 05:39:14,879 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [736018247] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:39:14,879 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:39:14,879 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 05:39:14,879 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1990338464] [2022-04-28 05:39:14,879 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:39:14,879 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 74 [2022-04-28 05:39:14,879 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:39:14,879 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:39:14,930 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 05:39:14,930 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 05:39:14,930 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:39:14,930 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 05:39:14,930 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=274, Unknown=0, NotChecked=0, Total=342 [2022-04-28 05:39:14,931 INFO L87 Difference]: Start difference. First operand 150 states and 183 transitions. Second operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:39:17,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:39:17,462 INFO L93 Difference]: Finished difference Result 188 states and 228 transitions. [2022-04-28 05:39:17,462 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 05:39:17,462 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 74 [2022-04-28 05:39:17,462 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:39:17,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:39:17,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 85 transitions. [2022-04-28 05:39:17,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:39:17,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 85 transitions. [2022-04-28 05:39:17,464 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 85 transitions. [2022-04-28 05:39:17,552 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 05:39:17,555 INFO L225 Difference]: With dead ends: 188 [2022-04-28 05:39:17,555 INFO L226 Difference]: Without dead ends: 186 [2022-04-28 05:39:17,555 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 128 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=85, Invalid=377, Unknown=0, NotChecked=0, Total=462 [2022-04-28 05:39:17,556 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 24 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 600 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 201 SdHoareTripleChecker+Invalid, 616 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 600 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-28 05:39:17,556 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 201 Invalid, 616 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 600 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-28 05:39:17,556 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 186 states. [2022-04-28 05:39:17,769 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 186 to 172. [2022-04-28 05:39:17,769 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:39:17,769 INFO L82 GeneralOperation]: Start isEquivalent. First operand 186 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 05:39:17,769 INFO L74 IsIncluded]: Start isIncluded. First operand 186 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 05:39:17,770 INFO L87 Difference]: Start difference. First operand 186 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 05:39:17,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:39:17,773 INFO L93 Difference]: Finished difference Result 186 states and 226 transitions. [2022-04-28 05:39:17,773 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 226 transitions. [2022-04-28 05:39:17,773 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:39:17,773 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:39:17,774 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) Second operand 186 states. [2022-04-28 05:39:17,774 INFO L87 Difference]: Start difference. First operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) Second operand 186 states. [2022-04-28 05:39:17,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:39:17,777 INFO L93 Difference]: Finished difference Result 186 states and 226 transitions. [2022-04-28 05:39:17,777 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 226 transitions. [2022-04-28 05:39:17,777 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:39:17,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:39:17,777 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:39:17,777 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:39:17,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 106 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 05:39:17,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 205 transitions. [2022-04-28 05:39:17,781 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 205 transitions. Word has length 74 [2022-04-28 05:39:17,781 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:39:17,781 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 205 transitions. [2022-04-28 05:39:17,781 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 05:39:17,781 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 205 transitions. [2022-04-28 05:39:18,041 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 205 edges. 205 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:39:18,042 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 205 transitions. [2022-04-28 05:39:18,042 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 05:39:18,043 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:39:18,043 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 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] [2022-04-28 05:39:18,059 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 05:39:18,255 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 05:39:18,255 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:39:18,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:39:18,256 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 5 times [2022-04-28 05:39:18,256 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:39:18,256 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1676946807] [2022-04-28 05:39:18,256 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:39:18,256 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 6 times [2022-04-28 05:39:18,257 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:39:18,257 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1009500173] [2022-04-28 05:39:18,257 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:39:18,257 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:39:18,267 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:39:18,267 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1517749172] [2022-04-28 05:39:18,267 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:39:18,267 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:39:18,267 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:39:18,268 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 05:39:18,269 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 05:39:18,316 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 05:39:18,316 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:39:18,317 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 05:39:18,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:39:18,337 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:39:18,591 INFO L272 TraceCheckUtils]: 0: Hoare triple {10093#true} call ULTIMATE.init(); {10093#true} is VALID [2022-04-28 05:39:18,591 INFO L290 TraceCheckUtils]: 1: Hoare triple {10093#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {10093#true} is VALID [2022-04-28 05:39:18,591 INFO L290 TraceCheckUtils]: 2: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:18,592 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10093#true} {10093#true} #88#return; {10093#true} is VALID [2022-04-28 05:39:18,592 INFO L272 TraceCheckUtils]: 4: Hoare triple {10093#true} call #t~ret6 := main(); {10093#true} is VALID [2022-04-28 05:39:18,592 INFO L290 TraceCheckUtils]: 5: Hoare triple {10093#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10093#true} is VALID [2022-04-28 05:39:18,592 INFO L272 TraceCheckUtils]: 6: Hoare triple {10093#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:18,592 INFO L290 TraceCheckUtils]: 7: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:18,592 INFO L290 TraceCheckUtils]: 8: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:18,592 INFO L290 TraceCheckUtils]: 9: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:18,592 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10093#true} {10093#true} #66#return; {10093#true} is VALID [2022-04-28 05:39:18,592 INFO L290 TraceCheckUtils]: 11: Hoare triple {10093#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10093#true} is VALID [2022-04-28 05:39:18,592 INFO L272 TraceCheckUtils]: 12: Hoare triple {10093#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:18,592 INFO L290 TraceCheckUtils]: 13: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:18,592 INFO L290 TraceCheckUtils]: 14: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:18,592 INFO L290 TraceCheckUtils]: 15: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:18,592 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10093#true} {10093#true} #68#return; {10093#true} is VALID [2022-04-28 05:39:18,593 INFO L272 TraceCheckUtils]: 17: Hoare triple {10093#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:18,593 INFO L290 TraceCheckUtils]: 18: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:18,593 INFO L290 TraceCheckUtils]: 19: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:18,593 INFO L290 TraceCheckUtils]: 20: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:18,593 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10093#true} {10093#true} #70#return; {10093#true} is VALID [2022-04-28 05:39:18,593 INFO L272 TraceCheckUtils]: 22: Hoare triple {10093#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:18,593 INFO L290 TraceCheckUtils]: 23: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:18,593 INFO L290 TraceCheckUtils]: 24: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:18,593 INFO L290 TraceCheckUtils]: 25: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:18,593 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10093#true} {10093#true} #72#return; {10093#true} is VALID [2022-04-28 05:39:18,594 INFO L290 TraceCheckUtils]: 27: Hoare triple {10093#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:18,594 INFO L290 TraceCheckUtils]: 28: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:18,594 INFO L272 TraceCheckUtils]: 29: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:18,594 INFO L290 TraceCheckUtils]: 30: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:18,595 INFO L290 TraceCheckUtils]: 31: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:18,595 INFO L290 TraceCheckUtils]: 32: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:18,595 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10093#true} {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:18,595 INFO L272 TraceCheckUtils]: 34: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:18,595 INFO L290 TraceCheckUtils]: 35: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:18,595 INFO L290 TraceCheckUtils]: 36: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:18,595 INFO L290 TraceCheckUtils]: 37: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:18,596 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10093#true} {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:18,596 INFO L272 TraceCheckUtils]: 39: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:18,596 INFO L290 TraceCheckUtils]: 40: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:18,596 INFO L290 TraceCheckUtils]: 41: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:18,596 INFO L290 TraceCheckUtils]: 42: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:18,597 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {10093#true} {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #78#return; {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:18,597 INFO L290 TraceCheckUtils]: 44: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:18,597 INFO L290 TraceCheckUtils]: 45: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:18,598 INFO L290 TraceCheckUtils]: 46: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:18,598 INFO L272 TraceCheckUtils]: 47: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:18,598 INFO L290 TraceCheckUtils]: 48: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:18,598 INFO L290 TraceCheckUtils]: 49: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:18,598 INFO L290 TraceCheckUtils]: 50: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:18,598 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10093#true} {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:18,599 INFO L272 TraceCheckUtils]: 52: Hoare triple {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:18,599 INFO L290 TraceCheckUtils]: 53: Hoare triple {10093#true} ~cond := #in~cond; {10258#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:39:18,600 INFO L290 TraceCheckUtils]: 54: Hoare triple {10258#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10262#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:18,601 INFO L290 TraceCheckUtils]: 55: Hoare triple {10262#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10262#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:18,602 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10262#(not (= |__VERIFIER_assert_#in~cond| 0))} {10179#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {10269#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:18,602 INFO L272 TraceCheckUtils]: 57: Hoare triple {10269#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:18,602 INFO L290 TraceCheckUtils]: 58: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:18,602 INFO L290 TraceCheckUtils]: 59: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:18,602 INFO L290 TraceCheckUtils]: 60: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:18,602 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10093#true} {10269#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #78#return; {10269#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:18,603 INFO L290 TraceCheckUtils]: 62: Hoare triple {10269#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {10269#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 05:39:18,607 INFO L290 TraceCheckUtils]: 63: Hoare triple {10269#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:18,608 INFO L290 TraceCheckUtils]: 64: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:18,608 INFO L272 TraceCheckUtils]: 65: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:18,608 INFO L290 TraceCheckUtils]: 66: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:18,608 INFO L290 TraceCheckUtils]: 67: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:18,608 INFO L290 TraceCheckUtils]: 68: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:18,609 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10093#true} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:18,609 INFO L272 TraceCheckUtils]: 70: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:18,609 INFO L290 TraceCheckUtils]: 71: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:18,609 INFO L290 TraceCheckUtils]: 72: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:18,609 INFO L290 TraceCheckUtils]: 73: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:18,609 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {10093#true} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:18,610 INFO L272 TraceCheckUtils]: 75: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10328#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:39:18,610 INFO L290 TraceCheckUtils]: 76: Hoare triple {10328#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10332#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:39:18,611 INFO L290 TraceCheckUtils]: 77: Hoare triple {10332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10094#false} is VALID [2022-04-28 05:39:18,611 INFO L290 TraceCheckUtils]: 78: Hoare triple {10094#false} assume !false; {10094#false} is VALID [2022-04-28 05:39:18,611 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 30 proven. 18 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-28 05:39:18,611 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:39:38,923 INFO L290 TraceCheckUtils]: 78: Hoare triple {10094#false} assume !false; {10094#false} is VALID [2022-04-28 05:39:38,923 INFO L290 TraceCheckUtils]: 77: Hoare triple {10332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10094#false} is VALID [2022-04-28 05:39:38,924 INFO L290 TraceCheckUtils]: 76: Hoare triple {10328#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10332#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:39:38,924 INFO L272 TraceCheckUtils]: 75: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10328#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:39:38,925 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {10093#true} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:38,925 INFO L290 TraceCheckUtils]: 73: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:38,925 INFO L290 TraceCheckUtils]: 72: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:38,925 INFO L290 TraceCheckUtils]: 71: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:38,925 INFO L272 TraceCheckUtils]: 70: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:38,926 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10093#true} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:38,926 INFO L290 TraceCheckUtils]: 68: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:38,926 INFO L290 TraceCheckUtils]: 67: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:38,926 INFO L290 TraceCheckUtils]: 66: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:38,926 INFO L272 TraceCheckUtils]: 65: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:38,926 INFO L290 TraceCheckUtils]: 64: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:39,126 INFO L290 TraceCheckUtils]: 63: Hoare triple {10384#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:39,126 INFO L290 TraceCheckUtils]: 62: Hoare triple {10384#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} assume !!(~a~0 != ~b~0); {10384#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} is VALID [2022-04-28 05:39:39,127 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10093#true} {10384#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} #78#return; {10384#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} is VALID [2022-04-28 05:39:39,127 INFO L290 TraceCheckUtils]: 60: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:39,127 INFO L290 TraceCheckUtils]: 59: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:39,127 INFO L290 TraceCheckUtils]: 58: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:39,127 INFO L272 TraceCheckUtils]: 57: Hoare triple {10384#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:39,128 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10262#(not (= |__VERIFIER_assert_#in~cond| 0))} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10384#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} is VALID [2022-04-28 05:39:39,129 INFO L290 TraceCheckUtils]: 55: Hoare triple {10262#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10262#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:39,129 INFO L290 TraceCheckUtils]: 54: Hoare triple {10415#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10262#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:39,129 INFO L290 TraceCheckUtils]: 53: Hoare triple {10093#true} ~cond := #in~cond; {10415#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:39:39,129 INFO L272 TraceCheckUtils]: 52: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:39,130 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10093#true} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:39,130 INFO L290 TraceCheckUtils]: 50: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:39,130 INFO L290 TraceCheckUtils]: 49: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:39,130 INFO L290 TraceCheckUtils]: 48: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:39,130 INFO L272 TraceCheckUtils]: 47: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:39,131 INFO L290 TraceCheckUtils]: 46: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:39,131 INFO L290 TraceCheckUtils]: 45: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:39,131 INFO L290 TraceCheckUtils]: 44: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !!(~a~0 != ~b~0); {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:39,132 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {10093#true} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #78#return; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:39,132 INFO L290 TraceCheckUtils]: 42: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:39,132 INFO L290 TraceCheckUtils]: 41: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:39,132 INFO L290 TraceCheckUtils]: 40: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:39,132 INFO L272 TraceCheckUtils]: 39: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:39,133 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10093#true} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:39,133 INFO L290 TraceCheckUtils]: 37: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:39,133 INFO L290 TraceCheckUtils]: 36: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:39,133 INFO L290 TraceCheckUtils]: 35: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:39,133 INFO L272 TraceCheckUtils]: 34: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:39,133 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10093#true} {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:39,133 INFO L290 TraceCheckUtils]: 32: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:39,134 INFO L290 TraceCheckUtils]: 31: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:39,134 INFO L290 TraceCheckUtils]: 30: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:39,134 INFO L272 TraceCheckUtils]: 29: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:39,134 INFO L290 TraceCheckUtils]: 28: Hoare triple {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:39,134 INFO L290 TraceCheckUtils]: 27: Hoare triple {10093#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10291#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-28 05:39:39,134 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10093#true} {10093#true} #72#return; {10093#true} is VALID [2022-04-28 05:39:39,135 INFO L290 TraceCheckUtils]: 25: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:39,135 INFO L290 TraceCheckUtils]: 24: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:39,135 INFO L290 TraceCheckUtils]: 23: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:39,135 INFO L272 TraceCheckUtils]: 22: Hoare triple {10093#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:39,135 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10093#true} {10093#true} #70#return; {10093#true} is VALID [2022-04-28 05:39:39,135 INFO L290 TraceCheckUtils]: 20: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:39,135 INFO L290 TraceCheckUtils]: 19: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:39,135 INFO L290 TraceCheckUtils]: 18: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:39,135 INFO L272 TraceCheckUtils]: 17: Hoare triple {10093#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:39,135 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10093#true} {10093#true} #68#return; {10093#true} is VALID [2022-04-28 05:39:39,135 INFO L290 TraceCheckUtils]: 15: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:39,135 INFO L290 TraceCheckUtils]: 14: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:39,135 INFO L290 TraceCheckUtils]: 13: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:39,135 INFO L272 TraceCheckUtils]: 12: Hoare triple {10093#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:39,135 INFO L290 TraceCheckUtils]: 11: Hoare triple {10093#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10093#true} is VALID [2022-04-28 05:39:39,136 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10093#true} {10093#true} #66#return; {10093#true} is VALID [2022-04-28 05:39:39,136 INFO L290 TraceCheckUtils]: 9: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:39,136 INFO L290 TraceCheckUtils]: 8: Hoare triple {10093#true} assume !(0 == ~cond); {10093#true} is VALID [2022-04-28 05:39:39,136 INFO L290 TraceCheckUtils]: 7: Hoare triple {10093#true} ~cond := #in~cond; {10093#true} is VALID [2022-04-28 05:39:39,136 INFO L272 TraceCheckUtils]: 6: Hoare triple {10093#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {10093#true} is VALID [2022-04-28 05:39:39,136 INFO L290 TraceCheckUtils]: 5: Hoare triple {10093#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10093#true} is VALID [2022-04-28 05:39:39,136 INFO L272 TraceCheckUtils]: 4: Hoare triple {10093#true} call #t~ret6 := main(); {10093#true} is VALID [2022-04-28 05:39:39,136 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10093#true} {10093#true} #88#return; {10093#true} is VALID [2022-04-28 05:39:39,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {10093#true} assume true; {10093#true} is VALID [2022-04-28 05:39:39,136 INFO L290 TraceCheckUtils]: 1: Hoare triple {10093#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {10093#true} is VALID [2022-04-28 05:39:39,136 INFO L272 TraceCheckUtils]: 0: Hoare triple {10093#true} call ULTIMATE.init(); {10093#true} is VALID [2022-04-28 05:39:39,137 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 27 proven. 14 refuted. 0 times theorem prover too weak. 125 trivial. 0 not checked. [2022-04-28 05:39:39,137 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:39:39,137 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1009500173] [2022-04-28 05:39:39,137 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:39:39,137 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1517749172] [2022-04-28 05:39:39,137 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1517749172] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:39:39,137 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:39:39,137 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-28 05:39:39,137 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:39:39,137 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1676946807] [2022-04-28 05:39:39,137 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1676946807] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:39:39,137 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:39:39,137 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 05:39:39,138 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1283481595] [2022-04-28 05:39:39,138 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:39:39,138 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 79 [2022-04-28 05:39:39,138 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:39:39,138 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 05:39:39,186 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:39:39,186 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 05:39:39,186 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:39:39,187 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 05:39:39,187 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-28 05:39:39,187 INFO L87 Difference]: Start difference. First operand 172 states and 205 transitions. Second operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 05:39:39,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:39:39,967 INFO L93 Difference]: Finished difference Result 186 states and 224 transitions. [2022-04-28 05:39:39,967 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 05:39:39,967 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 79 [2022-04-28 05:39:39,967 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:39:39,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 05:39:39,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-28 05:39:39,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 05:39:39,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-28 05:39:39,969 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 64 transitions. [2022-04-28 05:39:40,058 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 05:39:40,061 INFO L225 Difference]: With dead ends: 186 [2022-04-28 05:39:40,061 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 05:39:40,061 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 159 GetRequests, 145 SyntacticMatches, 3 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=116, Unknown=0, NotChecked=0, Total=156 [2022-04-28 05:39:40,062 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 166 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 174 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 166 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 05:39:40,062 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 152 Invalid, 174 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 166 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 05:39:40,062 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 05:39:40,253 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 153. [2022-04-28 05:39:40,253 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:39:40,254 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 05:39:40,254 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 05:39:40,254 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 05:39:40,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:39:40,257 INFO L93 Difference]: Finished difference Result 173 states and 203 transitions. [2022-04-28 05:39:40,257 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 203 transitions. [2022-04-28 05:39:40,257 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:39:40,257 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:39:40,257 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 173 states. [2022-04-28 05:39:40,258 INFO L87 Difference]: Start difference. First operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 173 states. [2022-04-28 05:39:40,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:39:40,260 INFO L93 Difference]: Finished difference Result 173 states and 203 transitions. [2022-04-28 05:39:40,260 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 203 transitions. [2022-04-28 05:39:40,261 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:39:40,261 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:39:40,261 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:39:40,261 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:39:40,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 94 states have (on average 1.0851063829787233) internal successors, (102), 98 states have internal predecessors, (102), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 05:39:40,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 173 transitions. [2022-04-28 05:39:40,263 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 173 transitions. Word has length 79 [2022-04-28 05:39:40,263 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:39:40,264 INFO L495 AbstractCegarLoop]: Abstraction has 153 states and 173 transitions. [2022-04-28 05:39:40,264 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 05:39:40,264 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 173 transitions. [2022-04-28 05:39:41,275 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 173 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:39:41,276 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 173 transitions. [2022-04-28 05:39:41,276 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 05:39:41,276 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:39:41,276 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:39:41,292 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 05:39:41,483 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 05:39:41,483 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:39:41,484 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:39:41,484 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 3 times [2022-04-28 05:39:41,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:39:41,484 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2068881539] [2022-04-28 05:39:41,484 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:39:41,484 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 4 times [2022-04-28 05:39:41,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:39:41,484 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1978294864] [2022-04-28 05:39:41,484 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:39:41,485 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:39:41,493 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:39:41,493 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1877045046] [2022-04-28 05:39:41,493 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:39:41,493 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:39:41,494 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:39:41,494 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 05:39:41,495 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 05:39:41,534 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:39:41,535 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:39:41,535 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 05:39:41,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:39:41,548 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:39:42,140 INFO L272 TraceCheckUtils]: 0: Hoare triple {11605#true} call ULTIMATE.init(); {11605#true} is VALID [2022-04-28 05:39:42,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {11605#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {11605#true} is VALID [2022-04-28 05:39:42,140 INFO L290 TraceCheckUtils]: 2: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:39:42,141 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11605#true} {11605#true} #88#return; {11605#true} is VALID [2022-04-28 05:39:42,141 INFO L272 TraceCheckUtils]: 4: Hoare triple {11605#true} call #t~ret6 := main(); {11605#true} is VALID [2022-04-28 05:39:42,141 INFO L290 TraceCheckUtils]: 5: Hoare triple {11605#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11605#true} is VALID [2022-04-28 05:39:42,141 INFO L272 TraceCheckUtils]: 6: Hoare triple {11605#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:39:42,141 INFO L290 TraceCheckUtils]: 7: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:39:42,141 INFO L290 TraceCheckUtils]: 8: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:39:42,141 INFO L290 TraceCheckUtils]: 9: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:39:42,141 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11605#true} {11605#true} #66#return; {11605#true} is VALID [2022-04-28 05:39:42,141 INFO L290 TraceCheckUtils]: 11: Hoare triple {11605#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11605#true} is VALID [2022-04-28 05:39:42,141 INFO L272 TraceCheckUtils]: 12: Hoare triple {11605#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:39:42,141 INFO L290 TraceCheckUtils]: 13: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:39:42,141 INFO L290 TraceCheckUtils]: 14: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:39:42,141 INFO L290 TraceCheckUtils]: 15: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:39:42,141 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11605#true} {11605#true} #68#return; {11605#true} is VALID [2022-04-28 05:39:42,141 INFO L272 TraceCheckUtils]: 17: Hoare triple {11605#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:39:42,142 INFO L290 TraceCheckUtils]: 18: Hoare triple {11605#true} ~cond := #in~cond; {11664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:39:42,142 INFO L290 TraceCheckUtils]: 19: Hoare triple {11664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:39:42,142 INFO L290 TraceCheckUtils]: 20: Hoare triple {11668#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:39:42,143 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11668#(not (= |assume_abort_if_not_#in~cond| 0))} {11605#true} #70#return; {11675#(<= 1 main_~x~0)} is VALID [2022-04-28 05:39:42,143 INFO L272 TraceCheckUtils]: 22: Hoare triple {11675#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:39:42,143 INFO L290 TraceCheckUtils]: 23: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:39:42,143 INFO L290 TraceCheckUtils]: 24: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:39:42,143 INFO L290 TraceCheckUtils]: 25: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:39:42,143 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11605#true} {11675#(<= 1 main_~x~0)} #72#return; {11675#(<= 1 main_~x~0)} is VALID [2022-04-28 05:39:42,144 INFO L290 TraceCheckUtils]: 27: Hoare triple {11675#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11694#(and (= main_~r~0 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_~p~0 1))} is VALID [2022-04-28 05:39:42,144 INFO L290 TraceCheckUtils]: 28: Hoare triple {11694#(and (= main_~r~0 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_~p~0 1))} assume !false; {11694#(and (= main_~r~0 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_~p~0 1))} is VALID [2022-04-28 05:39:42,144 INFO L272 TraceCheckUtils]: 29: Hoare triple {11694#(and (= main_~r~0 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_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:39:42,144 INFO L290 TraceCheckUtils]: 30: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:39:42,144 INFO L290 TraceCheckUtils]: 31: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:39:42,144 INFO L290 TraceCheckUtils]: 32: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:39:42,145 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11605#true} {11694#(and (= main_~r~0 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_~p~0 1))} #74#return; {11694#(and (= main_~r~0 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_~p~0 1))} is VALID [2022-04-28 05:39:42,145 INFO L272 TraceCheckUtils]: 34: Hoare triple {11694#(and (= main_~r~0 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_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:39:42,145 INFO L290 TraceCheckUtils]: 35: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:39:42,145 INFO L290 TraceCheckUtils]: 36: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:39:42,145 INFO L290 TraceCheckUtils]: 37: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:39:42,146 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11605#true} {11694#(and (= main_~r~0 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_~p~0 1))} #76#return; {11694#(and (= main_~r~0 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_~p~0 1))} is VALID [2022-04-28 05:39:42,146 INFO L272 TraceCheckUtils]: 39: Hoare triple {11694#(and (= main_~r~0 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_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:39:42,146 INFO L290 TraceCheckUtils]: 40: Hoare triple {11605#true} ~cond := #in~cond; {11734#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:39:42,146 INFO L290 TraceCheckUtils]: 41: Hoare triple {11734#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:42,147 INFO L290 TraceCheckUtils]: 42: Hoare triple {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:42,147 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} {11694#(and (= main_~r~0 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_~p~0 1))} #78#return; {11745#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:42,148 INFO L290 TraceCheckUtils]: 44: Hoare triple {11745#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {11745#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:42,149 INFO L290 TraceCheckUtils]: 45: Hoare triple {11745#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:42,149 INFO L290 TraceCheckUtils]: 46: Hoare triple {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:42,149 INFO L272 TraceCheckUtils]: 47: Hoare triple {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:39:42,149 INFO L290 TraceCheckUtils]: 48: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:39:42,149 INFO L290 TraceCheckUtils]: 49: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:39:42,149 INFO L290 TraceCheckUtils]: 50: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:39:42,150 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11605#true} {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #74#return; {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:42,150 INFO L272 TraceCheckUtils]: 52: Hoare triple {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:39:42,150 INFO L290 TraceCheckUtils]: 53: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:39:42,150 INFO L290 TraceCheckUtils]: 54: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:39:42,150 INFO L290 TraceCheckUtils]: 55: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:39:42,151 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11605#true} {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #76#return; {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:42,151 INFO L272 TraceCheckUtils]: 57: Hoare triple {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:39:42,151 INFO L290 TraceCheckUtils]: 58: Hoare triple {11605#true} ~cond := #in~cond; {11734#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:39:42,151 INFO L290 TraceCheckUtils]: 59: Hoare triple {11734#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:42,152 INFO L290 TraceCheckUtils]: 60: Hoare triple {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:39:42,152 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #78#return; {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:42,153 INFO L290 TraceCheckUtils]: 62: Hoare triple {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:39:42,153 INFO L290 TraceCheckUtils]: 63: Hoare triple {11752#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-28 05:39:42,154 INFO L290 TraceCheckUtils]: 64: Hoare triple {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} assume !false; {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-28 05:39:42,154 INFO L272 TraceCheckUtils]: 65: Hoare triple {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:39:42,154 INFO L290 TraceCheckUtils]: 66: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:39:42,154 INFO L290 TraceCheckUtils]: 67: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:39:42,154 INFO L290 TraceCheckUtils]: 68: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:39:42,155 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11605#true} {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} #74#return; {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-28 05:39:42,155 INFO L272 TraceCheckUtils]: 70: Hoare triple {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:39:42,156 INFO L290 TraceCheckUtils]: 71: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:39:42,156 INFO L290 TraceCheckUtils]: 72: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:39:42,156 INFO L290 TraceCheckUtils]: 73: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:39:42,156 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11605#true} {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} #76#return; {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-28 05:39:42,157 INFO L272 TraceCheckUtils]: 75: Hoare triple {11807#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (- 2) main_~q~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11844#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:39:42,157 INFO L290 TraceCheckUtils]: 76: Hoare triple {11844#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11848#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:39:42,158 INFO L290 TraceCheckUtils]: 77: Hoare triple {11848#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11606#false} is VALID [2022-04-28 05:39:42,158 INFO L290 TraceCheckUtils]: 78: Hoare triple {11606#false} assume !false; {11606#false} is VALID [2022-04-28 05:39:42,158 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 38 proven. 37 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2022-04-28 05:39:42,158 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:40:05,526 INFO L290 TraceCheckUtils]: 78: Hoare triple {11606#false} assume !false; {11606#false} is VALID [2022-04-28 05:40:05,527 INFO L290 TraceCheckUtils]: 77: Hoare triple {11848#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11606#false} is VALID [2022-04-28 05:40:05,527 INFO L290 TraceCheckUtils]: 76: Hoare triple {11844#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11848#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:40:05,528 INFO L272 TraceCheckUtils]: 75: Hoare triple {11864#(= 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)); {11844#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:40:05,528 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11605#true} {11864#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {11864#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:40:05,528 INFO L290 TraceCheckUtils]: 73: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:40:05,529 INFO L290 TraceCheckUtils]: 72: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:40:05,529 INFO L290 TraceCheckUtils]: 71: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:40:05,529 INFO L272 TraceCheckUtils]: 70: Hoare triple {11864#(= 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)); {11605#true} is VALID [2022-04-28 05:40:05,529 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11605#true} {11864#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {11864#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:40:05,529 INFO L290 TraceCheckUtils]: 68: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:40:05,529 INFO L290 TraceCheckUtils]: 67: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:40:05,529 INFO L290 TraceCheckUtils]: 66: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:40:05,529 INFO L272 TraceCheckUtils]: 65: Hoare triple {11864#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:40:05,530 INFO L290 TraceCheckUtils]: 64: Hoare triple {11864#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {11864#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:40:05,680 INFO L290 TraceCheckUtils]: 63: Hoare triple {11901#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11864#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:40:05,681 INFO L290 TraceCheckUtils]: 62: Hoare triple {11901#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {11901#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 05:40:05,682 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #78#return; {11901#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 05:40:05,682 INFO L290 TraceCheckUtils]: 60: Hoare triple {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:05,682 INFO L290 TraceCheckUtils]: 59: Hoare triple {11918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:05,683 INFO L290 TraceCheckUtils]: 58: Hoare triple {11605#true} ~cond := #in~cond; {11918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:40:05,683 INFO L272 TraceCheckUtils]: 57: Hoare triple {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:40:05,683 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11605#true} {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #76#return; {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:40:05,683 INFO L290 TraceCheckUtils]: 55: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:40:05,683 INFO L290 TraceCheckUtils]: 54: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:40:05,684 INFO L290 TraceCheckUtils]: 53: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:40:05,684 INFO L272 TraceCheckUtils]: 52: Hoare triple {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:40:05,684 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11605#true} {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #74#return; {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:40:05,684 INFO L290 TraceCheckUtils]: 50: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:40:05,684 INFO L290 TraceCheckUtils]: 49: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:40:05,684 INFO L290 TraceCheckUtils]: 48: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:40:05,684 INFO L272 TraceCheckUtils]: 47: Hoare triple {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:40:05,685 INFO L290 TraceCheckUtils]: 46: Hoare triple {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !false; {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:40:06,964 INFO L290 TraceCheckUtils]: 45: Hoare triple {11958#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11908#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 05:40:06,965 INFO L290 TraceCheckUtils]: 44: Hoare triple {11958#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} assume !!(~a~0 != ~b~0); {11958#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-28 05:40:06,966 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} {11605#true} #78#return; {11958#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ main_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-28 05:40:06,966 INFO L290 TraceCheckUtils]: 42: Hoare triple {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:06,967 INFO L290 TraceCheckUtils]: 41: Hoare triple {11918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11738#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:40:06,967 INFO L290 TraceCheckUtils]: 40: Hoare triple {11605#true} ~cond := #in~cond; {11918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:40:06,967 INFO L272 TraceCheckUtils]: 39: Hoare triple {11605#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:40:06,967 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11605#true} {11605#true} #76#return; {11605#true} is VALID [2022-04-28 05:40:06,967 INFO L290 TraceCheckUtils]: 37: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:40:06,967 INFO L290 TraceCheckUtils]: 36: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:40:06,967 INFO L290 TraceCheckUtils]: 35: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:40:06,967 INFO L272 TraceCheckUtils]: 34: Hoare triple {11605#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:40:06,967 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11605#true} {11605#true} #74#return; {11605#true} is VALID [2022-04-28 05:40:06,968 INFO L290 TraceCheckUtils]: 32: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:40:06,968 INFO L290 TraceCheckUtils]: 31: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:40:06,968 INFO L290 TraceCheckUtils]: 30: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:40:06,968 INFO L272 TraceCheckUtils]: 29: Hoare triple {11605#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:40:06,968 INFO L290 TraceCheckUtils]: 28: Hoare triple {11605#true} assume !false; {11605#true} is VALID [2022-04-28 05:40:06,968 INFO L290 TraceCheckUtils]: 27: Hoare triple {11605#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11605#true} is VALID [2022-04-28 05:40:06,968 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11605#true} {11605#true} #72#return; {11605#true} is VALID [2022-04-28 05:40:06,968 INFO L290 TraceCheckUtils]: 25: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:40:06,968 INFO L290 TraceCheckUtils]: 24: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:40:06,968 INFO L290 TraceCheckUtils]: 23: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:40:06,968 INFO L272 TraceCheckUtils]: 22: Hoare triple {11605#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:40:06,968 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11605#true} {11605#true} #70#return; {11605#true} is VALID [2022-04-28 05:40:06,968 INFO L290 TraceCheckUtils]: 20: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:40:06,968 INFO L290 TraceCheckUtils]: 19: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:40:06,969 INFO L290 TraceCheckUtils]: 18: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:40:06,969 INFO L272 TraceCheckUtils]: 17: Hoare triple {11605#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:40:06,969 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11605#true} {11605#true} #68#return; {11605#true} is VALID [2022-04-28 05:40:06,969 INFO L290 TraceCheckUtils]: 15: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:40:06,969 INFO L290 TraceCheckUtils]: 14: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:40:06,969 INFO L290 TraceCheckUtils]: 13: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:40:06,969 INFO L272 TraceCheckUtils]: 12: Hoare triple {11605#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:40:06,969 INFO L290 TraceCheckUtils]: 11: Hoare triple {11605#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11605#true} is VALID [2022-04-28 05:40:06,969 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11605#true} {11605#true} #66#return; {11605#true} is VALID [2022-04-28 05:40:06,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:40:06,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {11605#true} assume !(0 == ~cond); {11605#true} is VALID [2022-04-28 05:40:06,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {11605#true} ~cond := #in~cond; {11605#true} is VALID [2022-04-28 05:40:06,969 INFO L272 TraceCheckUtils]: 6: Hoare triple {11605#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {11605#true} is VALID [2022-04-28 05:40:06,969 INFO L290 TraceCheckUtils]: 5: Hoare triple {11605#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11605#true} is VALID [2022-04-28 05:40:06,970 INFO L272 TraceCheckUtils]: 4: Hoare triple {11605#true} call #t~ret6 := main(); {11605#true} is VALID [2022-04-28 05:40:06,970 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11605#true} {11605#true} #88#return; {11605#true} is VALID [2022-04-28 05:40:06,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {11605#true} assume true; {11605#true} is VALID [2022-04-28 05:40:06,970 INFO L290 TraceCheckUtils]: 1: Hoare triple {11605#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {11605#true} is VALID [2022-04-28 05:40:06,970 INFO L272 TraceCheckUtils]: 0: Hoare triple {11605#true} call ULTIMATE.init(); {11605#true} is VALID [2022-04-28 05:40:06,970 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 40 proven. 26 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-28 05:40:06,970 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:40:06,970 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1978294864] [2022-04-28 05:40:06,970 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:40:06,970 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1877045046] [2022-04-28 05:40:06,971 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1877045046] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:40:06,971 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:40:06,971 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 05:40:06,971 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:40:06,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2068881539] [2022-04-28 05:40:06,971 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2068881539] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:40:06,971 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:40:06,971 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 05:40:06,971 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1894777997] [2022-04-28 05:40:06,971 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:40:06,972 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-28 05:40:06,972 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:40:06,972 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:40:07,029 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:40:07,030 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 05:40:07,030 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:40:07,030 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 05:40:07,030 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=250, Unknown=0, NotChecked=0, Total=306 [2022-04-28 05:40:07,030 INFO L87 Difference]: Start difference. First operand 153 states and 173 transitions. Second operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:40:08,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:40:08,364 INFO L93 Difference]: Finished difference Result 175 states and 201 transitions. [2022-04-28 05:40:08,364 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 05:40:08,365 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-28 05:40:08,365 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:40:08,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:40:08,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 69 transitions. [2022-04-28 05:40:08,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:40:08,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 69 transitions. [2022-04-28 05:40:08,369 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 69 transitions. [2022-04-28 05:40:08,438 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 05:40:08,440 INFO L225 Difference]: With dead ends: 175 [2022-04-28 05:40:08,440 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 05:40:08,441 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 139 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=73, Invalid=347, Unknown=0, NotChecked=0, Total=420 [2022-04-28 05:40:08,441 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 24 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 355 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 142 SdHoareTripleChecker+Invalid, 375 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 355 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 05:40:08,441 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 142 Invalid, 375 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 355 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 05:40:08,441 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 05:40:08,643 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 163. [2022-04-28 05:40:08,643 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:40:08,644 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 05:40:08,644 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 05:40:08,644 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 05:40:08,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:40:08,647 INFO L93 Difference]: Finished difference Result 173 states and 199 transitions. [2022-04-28 05:40:08,647 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 199 transitions. [2022-04-28 05:40:08,647 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:40:08,647 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:40:08,648 INFO L74 IsIncluded]: Start isIncluded. First operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 173 states. [2022-04-28 05:40:08,648 INFO L87 Difference]: Start difference. First operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 173 states. [2022-04-28 05:40:08,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:40:08,650 INFO L93 Difference]: Finished difference Result 173 states and 199 transitions. [2022-04-28 05:40:08,650 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 199 transitions. [2022-04-28 05:40:08,651 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:40:08,651 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:40:08,651 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:40:08,660 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:40:08,660 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 163 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 39 states have call successors, (39), 24 states have call predecessors, (39), 23 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 05:40:08,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 163 states to 163 states and 186 transitions. [2022-04-28 05:40:08,663 INFO L78 Accepts]: Start accepts. Automaton has 163 states and 186 transitions. Word has length 79 [2022-04-28 05:40:08,663 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:40:08,663 INFO L495 AbstractCegarLoop]: Abstraction has 163 states and 186 transitions. [2022-04-28 05:40:08,663 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:40:08,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 163 states and 186 transitions. [2022-04-28 05:40:10,972 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 186 edges. 185 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 05:40:10,972 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 186 transitions. [2022-04-28 05:40:10,973 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-28 05:40:10,973 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:40:10,973 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:40:10,989 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-04-28 05:40:11,187 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 05:40:11,187 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:40:11,188 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:40:11,188 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 7 times [2022-04-28 05:40:11,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:40:11,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [807480008] [2022-04-28 05:40:11,188 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:40:11,188 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 8 times [2022-04-28 05:40:11,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:40:11,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [923520119] [2022-04-28 05:40:11,188 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:40:11,189 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:40:11,198 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:40:11,198 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2093084239] [2022-04-28 05:40:11,198 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:40:11,198 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:40:11,198 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:40:11,199 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 05:40:11,199 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 05:40:11,246 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:40:11,246 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:40:11,247 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 56 conjunts are in the unsatisfiable core [2022-04-28 05:40:11,264 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:40:11,266 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:43:06,005 INFO L272 TraceCheckUtils]: 0: Hoare triple {13124#true} call ULTIMATE.init(); {13124#true} is VALID [2022-04-28 05:43:06,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {13124#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {13124#true} is VALID [2022-04-28 05:43:06,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:06,005 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13124#true} {13124#true} #88#return; {13124#true} is VALID [2022-04-28 05:43:06,005 INFO L272 TraceCheckUtils]: 4: Hoare triple {13124#true} call #t~ret6 := main(); {13124#true} is VALID [2022-04-28 05:43:06,005 INFO L290 TraceCheckUtils]: 5: Hoare triple {13124#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13124#true} is VALID [2022-04-28 05:43:06,005 INFO L272 TraceCheckUtils]: 6: Hoare triple {13124#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:06,006 INFO L290 TraceCheckUtils]: 7: Hoare triple {13124#true} ~cond := #in~cond; {13150#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:43:06,006 INFO L290 TraceCheckUtils]: 8: Hoare triple {13150#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {13154#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:43:06,006 INFO L290 TraceCheckUtils]: 9: Hoare triple {13154#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {13154#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:43:06,007 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13154#(not (= |assume_abort_if_not_#in~cond| 0))} {13124#true} #66#return; {13161#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 05:43:06,007 INFO L290 TraceCheckUtils]: 11: Hoare triple {13161#(and (<= 0 main_~x~0) (<= main_~x~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13161#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 05:43:06,007 INFO L272 TraceCheckUtils]: 12: Hoare triple {13161#(and (<= 0 main_~x~0) (<= main_~x~0 5))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:06,007 INFO L290 TraceCheckUtils]: 13: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:06,007 INFO L290 TraceCheckUtils]: 14: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:06,007 INFO L290 TraceCheckUtils]: 15: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:06,008 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13124#true} {13161#(and (<= 0 main_~x~0) (<= main_~x~0 5))} #68#return; {13161#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 05:43:06,008 INFO L272 TraceCheckUtils]: 17: Hoare triple {13161#(and (<= 0 main_~x~0) (<= main_~x~0 5))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:06,008 INFO L290 TraceCheckUtils]: 18: Hoare triple {13124#true} ~cond := #in~cond; {13150#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:43:06,008 INFO L290 TraceCheckUtils]: 19: Hoare triple {13150#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {13154#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:43:06,009 INFO L290 TraceCheckUtils]: 20: Hoare triple {13154#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {13154#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:43:06,009 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13154#(not (= |assume_abort_if_not_#in~cond| 0))} {13161#(and (<= 0 main_~x~0) (<= main_~x~0 5))} #70#return; {13195#(and (<= 1 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 05:43:06,009 INFO L272 TraceCheckUtils]: 22: Hoare triple {13195#(and (<= 1 main_~x~0) (<= main_~x~0 5))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:06,009 INFO L290 TraceCheckUtils]: 23: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:06,009 INFO L290 TraceCheckUtils]: 24: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:06,009 INFO L290 TraceCheckUtils]: 25: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:06,010 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13124#true} {13195#(and (<= 1 main_~x~0) (<= main_~x~0 5))} #72#return; {13195#(and (<= 1 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 05:43:06,010 INFO L290 TraceCheckUtils]: 27: Hoare triple {13195#(and (<= 1 main_~x~0) (<= main_~x~0 5))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:43:06,011 INFO L290 TraceCheckUtils]: 28: Hoare triple {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:43:06,011 INFO L272 TraceCheckUtils]: 29: Hoare triple {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:06,011 INFO L290 TraceCheckUtils]: 30: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:06,011 INFO L290 TraceCheckUtils]: 31: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:06,011 INFO L290 TraceCheckUtils]: 32: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:06,012 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13124#true} {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #74#return; {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:43:06,012 INFO L272 TraceCheckUtils]: 34: Hoare triple {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:06,012 INFO L290 TraceCheckUtils]: 35: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:06,012 INFO L290 TraceCheckUtils]: 36: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:06,012 INFO L290 TraceCheckUtils]: 37: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:06,013 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13124#true} {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #76#return; {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:43:06,013 INFO L272 TraceCheckUtils]: 39: Hoare triple {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:06,013 INFO L290 TraceCheckUtils]: 40: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:06,013 INFO L290 TraceCheckUtils]: 41: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:06,013 INFO L290 TraceCheckUtils]: 42: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:06,014 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {13124#true} {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #78#return; {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:43:06,014 INFO L290 TraceCheckUtils]: 44: Hoare triple {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:43:06,015 INFO L290 TraceCheckUtils]: 45: Hoare triple {13214#(and (<= 1 main_~s~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} is VALID [2022-04-28 05:43:06,016 INFO L290 TraceCheckUtils]: 46: Hoare triple {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} assume !false; {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} is VALID [2022-04-28 05:43:06,016 INFO L272 TraceCheckUtils]: 47: Hoare triple {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:06,016 INFO L290 TraceCheckUtils]: 48: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:06,016 INFO L290 TraceCheckUtils]: 49: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:06,016 INFO L290 TraceCheckUtils]: 50: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:06,017 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13124#true} {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} #74#return; {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} is VALID [2022-04-28 05:43:06,017 INFO L272 TraceCheckUtils]: 52: Hoare triple {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:06,017 INFO L290 TraceCheckUtils]: 53: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:06,017 INFO L290 TraceCheckUtils]: 54: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:06,017 INFO L290 TraceCheckUtils]: 55: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:06,027 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13124#true} {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} #76#return; {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} is VALID [2022-04-28 05:43:06,028 INFO L272 TraceCheckUtils]: 57: Hoare triple {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:06,028 INFO L290 TraceCheckUtils]: 58: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:06,028 INFO L290 TraceCheckUtils]: 59: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:06,028 INFO L290 TraceCheckUtils]: 60: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:06,028 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13124#true} {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} #78#return; {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} is VALID [2022-04-28 05:43:06,029 INFO L290 TraceCheckUtils]: 62: Hoare triple {13269#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= (+ main_~q~0 main_~p~0) 1))} assume !!(~a~0 != ~b~0); {13321#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (<= (+ main_~q~0 main_~p~0) 1))} is VALID [2022-04-28 05:43:06,030 INFO L290 TraceCheckUtils]: 63: Hoare triple {13321#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (<= main_~x~0 (+ main_~b~0 main_~a~0)) (< main_~b~0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (<= (+ main_~q~0 main_~p~0) 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13325#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:43:06,031 INFO L290 TraceCheckUtils]: 64: Hoare triple {13325#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !false; {13325#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:43:06,031 INFO L272 TraceCheckUtils]: 65: Hoare triple {13325#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:06,031 INFO L290 TraceCheckUtils]: 66: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:06,031 INFO L290 TraceCheckUtils]: 67: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:06,031 INFO L290 TraceCheckUtils]: 68: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:06,032 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13124#true} {13325#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #74#return; {13325#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:43:06,032 INFO L272 TraceCheckUtils]: 70: Hoare triple {13325#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:06,032 INFO L290 TraceCheckUtils]: 71: Hoare triple {13124#true} ~cond := #in~cond; {13350#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:43:06,032 INFO L290 TraceCheckUtils]: 72: Hoare triple {13350#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:06,032 INFO L290 TraceCheckUtils]: 73: Hoare triple {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:06,033 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} {13325#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #76#return; {13361#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:43:06,033 INFO L272 TraceCheckUtils]: 75: Hoare triple {13361#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:06,034 INFO L290 TraceCheckUtils]: 76: Hoare triple {13124#true} ~cond := #in~cond; {13350#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:43:06,034 INFO L290 TraceCheckUtils]: 77: Hoare triple {13350#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:06,034 INFO L290 TraceCheckUtils]: 78: Hoare triple {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:06,035 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} {13361#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #78#return; {13361#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:43:06,035 INFO L290 TraceCheckUtils]: 80: Hoare triple {13361#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {13361#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 05:43:06,040 INFO L290 TraceCheckUtils]: 81: Hoare triple {13361#(and (<= (+ main_~r~0 1) 0) (<= main_~x~0 (+ (* main_~a~0 2) main_~b~0)) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 5) (not (= main_~b~0 0)) (<= main_~p~0 1) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13383#(and (= (mod main_~r~0 3) 0) (< (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~x~0)) (<= main_~x~0 5) (<= 0 (+ (div (* (- 1) main_~p~0) 2) 1)) (<= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (< 0 main_~a~0) (= (mod main_~p~0 2) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~y~0)) (not (= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3))))) (<= (+ main_~r~0 (div (* (- 2) main_~r~0) 3) 1) 0))} is VALID [2022-04-28 05:43:06,041 INFO L290 TraceCheckUtils]: 82: Hoare triple {13383#(and (= (mod main_~r~0 3) 0) (< (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~x~0)) (<= main_~x~0 5) (<= 0 (+ (div (* (- 1) main_~p~0) 2) 1)) (<= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (< 0 main_~a~0) (= (mod main_~p~0 2) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~y~0)) (not (= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3))))) (<= (+ main_~r~0 (div (* (- 2) main_~r~0) 3) 1) 0))} assume !false; {13383#(and (= (mod main_~r~0 3) 0) (< (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~x~0)) (<= main_~x~0 5) (<= 0 (+ (div (* (- 1) main_~p~0) 2) 1)) (<= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (< 0 main_~a~0) (= (mod main_~p~0 2) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~y~0)) (not (= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3))))) (<= (+ main_~r~0 (div (* (- 2) main_~r~0) 3) 1) 0))} is VALID [2022-04-28 05:43:06,041 INFO L272 TraceCheckUtils]: 83: Hoare triple {13383#(and (= (mod main_~r~0 3) 0) (< (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~x~0)) (<= main_~x~0 5) (<= 0 (+ (div (* (- 1) main_~p~0) 2) 1)) (<= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (< 0 main_~a~0) (= (mod main_~p~0 2) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~y~0)) (not (= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3))))) (<= (+ main_~r~0 (div (* (- 2) main_~r~0) 3) 1) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:06,041 INFO L290 TraceCheckUtils]: 84: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:06,041 INFO L290 TraceCheckUtils]: 85: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:06,041 INFO L290 TraceCheckUtils]: 86: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:06,041 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {13124#true} {13383#(and (= (mod main_~r~0 3) 0) (< (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~x~0)) (<= main_~x~0 5) (<= 0 (+ (div (* (- 1) main_~p~0) 2) 1)) (<= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (< 0 main_~a~0) (= (mod main_~p~0 2) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~y~0)) (not (= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3))))) (<= (+ main_~r~0 (div (* (- 2) main_~r~0) 3) 1) 0))} #74#return; {13383#(and (= (mod main_~r~0 3) 0) (< (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~x~0)) (<= main_~x~0 5) (<= 0 (+ (div (* (- 1) main_~p~0) 2) 1)) (<= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (< 0 main_~a~0) (= (mod main_~p~0 2) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~y~0)) (not (= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3))))) (<= (+ main_~r~0 (div (* (- 2) main_~r~0) 3) 1) 0))} is VALID [2022-04-28 05:43:06,049 INFO L272 TraceCheckUtils]: 88: Hoare triple {13383#(and (= (mod main_~r~0 3) 0) (< (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~x~0)) (<= main_~x~0 5) (<= 0 (+ (div (* (- 1) main_~p~0) 2) 1)) (<= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (< 0 main_~a~0) (= (mod main_~p~0 2) 0) (= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~y~0 (div (* (- 2) main_~r~0) 3)))) (+ (* 2 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) main_~a~0 main_~y~0)) (not (= (+ main_~a~0 (* main_~x~0 (div (* (- 1) main_~p~0) 2))) (+ (* main_~y~0 main_~r~0) (* main_~y~0 (div (* (- 2) main_~r~0) 3))))) (<= (+ main_~r~0 (div (* (- 2) main_~r~0) 3) 1) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13405#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:43:06,050 INFO L290 TraceCheckUtils]: 89: Hoare triple {13405#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13409#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:43:06,050 INFO L290 TraceCheckUtils]: 90: Hoare triple {13409#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13125#false} is VALID [2022-04-28 05:43:06,050 INFO L290 TraceCheckUtils]: 91: Hoare triple {13125#false} assume !false; {13125#false} is VALID [2022-04-28 05:43:06,051 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 63 proven. 44 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-28 05:43:06,051 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:43:34,404 INFO L290 TraceCheckUtils]: 91: Hoare triple {13125#false} assume !false; {13125#false} is VALID [2022-04-28 05:43:34,405 INFO L290 TraceCheckUtils]: 90: Hoare triple {13409#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13125#false} is VALID [2022-04-28 05:43:34,405 INFO L290 TraceCheckUtils]: 89: Hoare triple {13405#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13409#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:43:34,406 INFO L272 TraceCheckUtils]: 88: Hoare triple {13425#(= 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)); {13405#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:43:34,406 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {13124#true} {13425#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {13425#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:43:34,406 INFO L290 TraceCheckUtils]: 86: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:34,407 INFO L290 TraceCheckUtils]: 85: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:34,407 INFO L290 TraceCheckUtils]: 84: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:34,407 INFO L272 TraceCheckUtils]: 83: Hoare triple {13425#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:34,407 INFO L290 TraceCheckUtils]: 82: Hoare triple {13425#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {13425#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:43:34,627 INFO L290 TraceCheckUtils]: 81: Hoare triple {13447#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13425#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:43:34,628 INFO L290 TraceCheckUtils]: 80: Hoare triple {13447#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {13447#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:43:34,629 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} {13454#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #78#return; {13447#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:43:34,629 INFO L290 TraceCheckUtils]: 78: Hoare triple {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:34,629 INFO L290 TraceCheckUtils]: 77: Hoare triple {13464#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:34,630 INFO L290 TraceCheckUtils]: 76: Hoare triple {13124#true} ~cond := #in~cond; {13464#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:43:34,630 INFO L272 TraceCheckUtils]: 75: Hoare triple {13454#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (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)); {13124#true} is VALID [2022-04-28 05:43:34,631 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} {13124#true} #76#return; {13454#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:43:34,631 INFO L290 TraceCheckUtils]: 73: Hoare triple {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:34,632 INFO L290 TraceCheckUtils]: 72: Hoare triple {13464#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13354#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:34,632 INFO L290 TraceCheckUtils]: 71: Hoare triple {13124#true} ~cond := #in~cond; {13464#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:43:34,632 INFO L272 TraceCheckUtils]: 70: Hoare triple {13124#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:34,632 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13124#true} {13124#true} #74#return; {13124#true} is VALID [2022-04-28 05:43:34,632 INFO L290 TraceCheckUtils]: 68: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:34,632 INFO L290 TraceCheckUtils]: 67: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:34,632 INFO L290 TraceCheckUtils]: 66: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:34,632 INFO L272 TraceCheckUtils]: 65: Hoare triple {13124#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:34,632 INFO L290 TraceCheckUtils]: 64: Hoare triple {13124#true} assume !false; {13124#true} is VALID [2022-04-28 05:43:34,632 INFO L290 TraceCheckUtils]: 63: Hoare triple {13124#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13124#true} is VALID [2022-04-28 05:43:34,632 INFO L290 TraceCheckUtils]: 62: Hoare triple {13124#true} assume !!(~a~0 != ~b~0); {13124#true} is VALID [2022-04-28 05:43:34,633 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13124#true} {13124#true} #78#return; {13124#true} is VALID [2022-04-28 05:43:34,633 INFO L290 TraceCheckUtils]: 60: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:34,633 INFO L290 TraceCheckUtils]: 59: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:34,633 INFO L290 TraceCheckUtils]: 58: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:34,633 INFO L272 TraceCheckUtils]: 57: Hoare triple {13124#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:34,633 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13124#true} {13124#true} #76#return; {13124#true} is VALID [2022-04-28 05:43:34,633 INFO L290 TraceCheckUtils]: 55: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:34,633 INFO L290 TraceCheckUtils]: 54: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:34,633 INFO L290 TraceCheckUtils]: 53: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:34,633 INFO L272 TraceCheckUtils]: 52: Hoare triple {13124#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:34,633 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13124#true} {13124#true} #74#return; {13124#true} is VALID [2022-04-28 05:43:34,633 INFO L290 TraceCheckUtils]: 50: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:34,633 INFO L290 TraceCheckUtils]: 49: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:34,633 INFO L290 TraceCheckUtils]: 48: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:34,633 INFO L272 TraceCheckUtils]: 47: Hoare triple {13124#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:34,634 INFO L290 TraceCheckUtils]: 46: Hoare triple {13124#true} assume !false; {13124#true} is VALID [2022-04-28 05:43:34,634 INFO L290 TraceCheckUtils]: 45: Hoare triple {13124#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13124#true} is VALID [2022-04-28 05:43:34,634 INFO L290 TraceCheckUtils]: 44: Hoare triple {13124#true} assume !!(~a~0 != ~b~0); {13124#true} is VALID [2022-04-28 05:43:34,634 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {13124#true} {13124#true} #78#return; {13124#true} is VALID [2022-04-28 05:43:34,634 INFO L290 TraceCheckUtils]: 42: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:34,634 INFO L290 TraceCheckUtils]: 41: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:34,634 INFO L290 TraceCheckUtils]: 40: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:34,634 INFO L272 TraceCheckUtils]: 39: Hoare triple {13124#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:34,634 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13124#true} {13124#true} #76#return; {13124#true} is VALID [2022-04-28 05:43:34,634 INFO L290 TraceCheckUtils]: 37: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:34,634 INFO L290 TraceCheckUtils]: 36: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:34,634 INFO L290 TraceCheckUtils]: 35: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:34,634 INFO L272 TraceCheckUtils]: 34: Hoare triple {13124#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:34,634 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13124#true} {13124#true} #74#return; {13124#true} is VALID [2022-04-28 05:43:34,634 INFO L290 TraceCheckUtils]: 32: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:34,635 INFO L290 TraceCheckUtils]: 31: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:34,635 INFO L290 TraceCheckUtils]: 30: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:34,635 INFO L272 TraceCheckUtils]: 29: Hoare triple {13124#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:34,635 INFO L290 TraceCheckUtils]: 28: Hoare triple {13124#true} assume !false; {13124#true} is VALID [2022-04-28 05:43:34,635 INFO L290 TraceCheckUtils]: 27: Hoare triple {13124#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13124#true} is VALID [2022-04-28 05:43:34,635 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13124#true} {13124#true} #72#return; {13124#true} is VALID [2022-04-28 05:43:34,635 INFO L290 TraceCheckUtils]: 25: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:34,635 INFO L290 TraceCheckUtils]: 24: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:34,635 INFO L290 TraceCheckUtils]: 23: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:34,635 INFO L272 TraceCheckUtils]: 22: Hoare triple {13124#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:34,635 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13124#true} {13124#true} #70#return; {13124#true} is VALID [2022-04-28 05:43:34,635 INFO L290 TraceCheckUtils]: 20: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:34,635 INFO L290 TraceCheckUtils]: 19: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:34,635 INFO L290 TraceCheckUtils]: 18: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:34,635 INFO L272 TraceCheckUtils]: 17: Hoare triple {13124#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:34,636 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13124#true} {13124#true} #68#return; {13124#true} is VALID [2022-04-28 05:43:34,636 INFO L290 TraceCheckUtils]: 15: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:34,636 INFO L290 TraceCheckUtils]: 14: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:34,636 INFO L290 TraceCheckUtils]: 13: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:34,636 INFO L272 TraceCheckUtils]: 12: Hoare triple {13124#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:34,636 INFO L290 TraceCheckUtils]: 11: Hoare triple {13124#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13124#true} is VALID [2022-04-28 05:43:34,636 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13124#true} {13124#true} #66#return; {13124#true} is VALID [2022-04-28 05:43:34,636 INFO L290 TraceCheckUtils]: 9: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:34,636 INFO L290 TraceCheckUtils]: 8: Hoare triple {13124#true} assume !(0 == ~cond); {13124#true} is VALID [2022-04-28 05:43:34,636 INFO L290 TraceCheckUtils]: 7: Hoare triple {13124#true} ~cond := #in~cond; {13124#true} is VALID [2022-04-28 05:43:34,636 INFO L272 TraceCheckUtils]: 6: Hoare triple {13124#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {13124#true} is VALID [2022-04-28 05:43:34,636 INFO L290 TraceCheckUtils]: 5: Hoare triple {13124#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13124#true} is VALID [2022-04-28 05:43:34,636 INFO L272 TraceCheckUtils]: 4: Hoare triple {13124#true} call #t~ret6 := main(); {13124#true} is VALID [2022-04-28 05:43:34,636 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13124#true} {13124#true} #88#return; {13124#true} is VALID [2022-04-28 05:43:34,637 INFO L290 TraceCheckUtils]: 2: Hoare triple {13124#true} assume true; {13124#true} is VALID [2022-04-28 05:43:34,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {13124#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {13124#true} is VALID [2022-04-28 05:43:34,637 INFO L272 TraceCheckUtils]: 0: Hoare triple {13124#true} call ULTIMATE.init(); {13124#true} is VALID [2022-04-28 05:43:34,637 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 75 proven. 8 refuted. 0 times theorem prover too weak. 168 trivial. 0 not checked. [2022-04-28 05:43:34,637 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:43:34,637 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [923520119] [2022-04-28 05:43:34,637 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:43:34,637 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2093084239] [2022-04-28 05:43:34,637 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2093084239] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:43:34,637 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:43:34,637 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 9] total 20 [2022-04-28 05:43:34,638 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:43:34,638 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [807480008] [2022-04-28 05:43:34,638 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [807480008] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:43:34,638 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:43:34,638 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 05:43:34,638 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1928445347] [2022-04-28 05:43:34,638 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:43:34,638 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.875) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Word has length 92 [2022-04-28 05:43:34,638 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:43:34,639 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.875) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 05:43:34,704 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:43:34,704 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 05:43:34,704 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:43:34,704 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 05:43:34,705 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=316, Unknown=0, NotChecked=0, Total=380 [2022-04-28 05:43:34,705 INFO L87 Difference]: Start difference. First operand 163 states and 186 transitions. Second operand has 16 states, 16 states have (on average 1.875) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 05:43:46,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:43:46,328 INFO L93 Difference]: Finished difference Result 193 states and 224 transitions. [2022-04-28 05:43:46,328 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 05:43:46,329 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.875) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Word has length 92 [2022-04-28 05:43:46,329 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:43:46,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.875) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 05:43:46,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 79 transitions. [2022-04-28 05:43:46,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.875) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 05:43:46,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 79 transitions. [2022-04-28 05:43:46,331 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 79 transitions. [2022-04-28 05:43:46,437 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:43:46,440 INFO L225 Difference]: With dead ends: 193 [2022-04-28 05:43:46,440 INFO L226 Difference]: Without dead ends: 191 [2022-04-28 05:43:46,441 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 163 SyntacticMatches, 2 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=81, Invalid=425, Unknown=0, NotChecked=0, Total=506 [2022-04-28 05:43:46,441 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 25 mSDsluCounter, 159 mSDsCounter, 0 mSdLazyCounter, 531 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 192 SdHoareTripleChecker+Invalid, 550 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 531 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.7s IncrementalHoareTripleChecker+Time [2022-04-28 05:43:46,441 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 192 Invalid, 550 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 531 Invalid, 0 Unknown, 0 Unchecked, 4.7s Time] [2022-04-28 05:43:46,441 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states. [2022-04-28 05:43:46,773 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 191. [2022-04-28 05:43:46,773 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:43:46,773 INFO L82 GeneralOperation]: Start isEquivalent. First operand 191 states. Second operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 05:43:46,773 INFO L74 IsIncluded]: Start isIncluded. First operand 191 states. Second operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 05:43:46,774 INFO L87 Difference]: Start difference. First operand 191 states. Second operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 05:43:46,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:43:46,777 INFO L93 Difference]: Finished difference Result 191 states and 222 transitions. [2022-04-28 05:43:46,777 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 222 transitions. [2022-04-28 05:43:46,777 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:43:46,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:43:46,777 INFO L74 IsIncluded]: Start isIncluded. First operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) Second operand 191 states. [2022-04-28 05:43:46,778 INFO L87 Difference]: Start difference. First operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) Second operand 191 states. [2022-04-28 05:43:46,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:43:46,781 INFO L93 Difference]: Finished difference Result 191 states and 222 transitions. [2022-04-28 05:43:46,781 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 222 transitions. [2022-04-28 05:43:46,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:43:46,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:43:46,781 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:43:46,781 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:43:46,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 191 states, 116 states have (on average 1.0948275862068966) internal successors, (127), 121 states have internal predecessors, (127), 48 states have call successors, (48), 27 states have call predecessors, (48), 26 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 05:43:46,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 191 states to 191 states and 222 transitions. [2022-04-28 05:43:46,785 INFO L78 Accepts]: Start accepts. Automaton has 191 states and 222 transitions. Word has length 92 [2022-04-28 05:43:46,785 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:43:46,785 INFO L495 AbstractCegarLoop]: Abstraction has 191 states and 222 transitions. [2022-04-28 05:43:46,785 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.875) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-04-28 05:43:46,785 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 191 states and 222 transitions. [2022-04-28 05:43:49,182 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 222 edges. 221 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 05:43:49,183 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 222 transitions. [2022-04-28 05:43:49,183 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-28 05:43:49,183 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:43:49,183 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:43:49,200 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 05:43:49,386 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 05:43:49,386 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:43:49,386 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:43:49,386 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 9 times [2022-04-28 05:43:49,386 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:43:49,386 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [914075999] [2022-04-28 05:43:49,387 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:43:49,387 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 10 times [2022-04-28 05:43:49,387 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:43:49,387 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [944756299] [2022-04-28 05:43:49,387 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:43:49,387 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:43:49,396 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:43:49,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1342082774] [2022-04-28 05:43:49,396 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:43:49,396 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:43:49,396 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:43:49,397 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 05:43:49,405 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 05:43:49,448 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:43:49,448 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:43:49,449 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-28 05:43:49,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:43:49,465 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:43:51,701 INFO L272 TraceCheckUtils]: 0: Hoare triple {14851#true} call ULTIMATE.init(); {14851#true} is VALID [2022-04-28 05:43:51,701 INFO L290 TraceCheckUtils]: 1: Hoare triple {14851#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {14851#true} is VALID [2022-04-28 05:43:51,701 INFO L290 TraceCheckUtils]: 2: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:43:51,701 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14851#true} {14851#true} #88#return; {14851#true} is VALID [2022-04-28 05:43:51,701 INFO L272 TraceCheckUtils]: 4: Hoare triple {14851#true} call #t~ret6 := main(); {14851#true} is VALID [2022-04-28 05:43:51,701 INFO L290 TraceCheckUtils]: 5: Hoare triple {14851#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {14851#true} is VALID [2022-04-28 05:43:51,701 INFO L272 TraceCheckUtils]: 6: Hoare triple {14851#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:43:51,701 INFO L290 TraceCheckUtils]: 7: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:43:51,701 INFO L290 TraceCheckUtils]: 8: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:43:51,701 INFO L290 TraceCheckUtils]: 9: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:43:51,701 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14851#true} {14851#true} #66#return; {14851#true} is VALID [2022-04-28 05:43:51,701 INFO L290 TraceCheckUtils]: 11: Hoare triple {14851#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14851#true} is VALID [2022-04-28 05:43:51,702 INFO L272 TraceCheckUtils]: 12: Hoare triple {14851#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:43:51,702 INFO L290 TraceCheckUtils]: 13: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:43:51,702 INFO L290 TraceCheckUtils]: 14: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:43:51,702 INFO L290 TraceCheckUtils]: 15: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:43:51,702 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14851#true} {14851#true} #68#return; {14851#true} is VALID [2022-04-28 05:43:51,702 INFO L272 TraceCheckUtils]: 17: Hoare triple {14851#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:43:51,702 INFO L290 TraceCheckUtils]: 18: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:43:51,702 INFO L290 TraceCheckUtils]: 19: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:43:51,702 INFO L290 TraceCheckUtils]: 20: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:43:51,702 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14851#true} {14851#true} #70#return; {14851#true} is VALID [2022-04-28 05:43:51,702 INFO L272 TraceCheckUtils]: 22: Hoare triple {14851#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:43:51,702 INFO L290 TraceCheckUtils]: 23: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:43:51,702 INFO L290 TraceCheckUtils]: 24: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:43:51,702 INFO L290 TraceCheckUtils]: 25: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:43:51,702 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14851#true} {14851#true} #72#return; {14851#true} is VALID [2022-04-28 05:43:51,703 INFO L290 TraceCheckUtils]: 27: Hoare triple {14851#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= 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 05:43:51,703 INFO L290 TraceCheckUtils]: 28: Hoare triple {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= 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 05:43:51,703 INFO L272 TraceCheckUtils]: 29: Hoare triple {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:43:51,703 INFO L290 TraceCheckUtils]: 30: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:43:51,703 INFO L290 TraceCheckUtils]: 31: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:43:51,704 INFO L290 TraceCheckUtils]: 32: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:43:51,704 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14851#true} {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= 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 05:43:51,704 INFO L272 TraceCheckUtils]: 34: Hoare triple {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= 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)); {14851#true} is VALID [2022-04-28 05:43:51,704 INFO L290 TraceCheckUtils]: 35: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:43:51,704 INFO L290 TraceCheckUtils]: 36: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:43:51,704 INFO L290 TraceCheckUtils]: 37: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:43:51,705 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14851#true} {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= 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 05:43:51,705 INFO L272 TraceCheckUtils]: 39: Hoare triple {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:43:51,705 INFO L290 TraceCheckUtils]: 40: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:43:51,705 INFO L290 TraceCheckUtils]: 41: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:43:51,705 INFO L290 TraceCheckUtils]: 42: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:43:51,706 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {14851#true} {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= 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 05:43:51,706 INFO L290 TraceCheckUtils]: 44: Hoare triple {14937#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {14989#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:43:51,708 INFO L290 TraceCheckUtils]: 45: Hoare triple {14989#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:43:51,708 INFO L290 TraceCheckUtils]: 46: Hoare triple {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:43:51,708 INFO L272 TraceCheckUtils]: 47: Hoare triple {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:43:51,708 INFO L290 TraceCheckUtils]: 48: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:43:51,708 INFO L290 TraceCheckUtils]: 49: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:43:51,708 INFO L290 TraceCheckUtils]: 50: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:43:51,709 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14851#true} {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #74#return; {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:43:51,709 INFO L272 TraceCheckUtils]: 52: Hoare triple {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:43:51,709 INFO L290 TraceCheckUtils]: 53: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:43:51,709 INFO L290 TraceCheckUtils]: 54: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:43:51,709 INFO L290 TraceCheckUtils]: 55: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:43:51,710 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14851#true} {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #76#return; {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:43:51,710 INFO L272 TraceCheckUtils]: 57: Hoare triple {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:43:51,710 INFO L290 TraceCheckUtils]: 58: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:43:51,710 INFO L290 TraceCheckUtils]: 59: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:43:51,710 INFO L290 TraceCheckUtils]: 60: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:43:51,711 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14851#true} {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #78#return; {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:43:51,711 INFO L290 TraceCheckUtils]: 62: Hoare triple {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 05:43:51,713 INFO L290 TraceCheckUtils]: 63: Hoare triple {14993#(and (= main_~r~0 0) (not (= main_~a~0 main_~y~0)) (<= 1 (+ main_~s~0 main_~r~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {15048#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:43:51,713 INFO L290 TraceCheckUtils]: 64: Hoare triple {15048#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {15048#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:43:51,713 INFO L272 TraceCheckUtils]: 65: Hoare triple {15048#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:43:51,713 INFO L290 TraceCheckUtils]: 66: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:43:51,713 INFO L290 TraceCheckUtils]: 67: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:43:51,713 INFO L290 TraceCheckUtils]: 68: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:43:51,714 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14851#true} {15048#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #74#return; {15048#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:43:51,714 INFO L272 TraceCheckUtils]: 70: Hoare triple {15048#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 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)); {14851#true} is VALID [2022-04-28 05:43:51,714 INFO L290 TraceCheckUtils]: 71: Hoare triple {14851#true} ~cond := #in~cond; {15073#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:43:51,715 INFO L290 TraceCheckUtils]: 72: Hoare triple {15073#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15077#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:51,715 INFO L290 TraceCheckUtils]: 73: Hoare triple {15077#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15077#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:43:51,716 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {15077#(not (= |__VERIFIER_assert_#in~cond| 0))} {15048#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #76#return; {15084#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:43:51,716 INFO L272 TraceCheckUtils]: 75: Hoare triple {15084#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:43:51,716 INFO L290 TraceCheckUtils]: 76: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:43:51,716 INFO L290 TraceCheckUtils]: 77: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:43:51,716 INFO L290 TraceCheckUtils]: 78: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:43:51,717 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14851#true} {15084#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #78#return; {15084#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:43:51,717 INFO L290 TraceCheckUtils]: 80: Hoare triple {15084#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {15084#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:43:51,720 INFO L290 TraceCheckUtils]: 81: Hoare triple {15084#(and (not (= main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ main_~s~0 main_~r~0) 0) (= main_~p~0 (* (- 2) main_~q~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (< main_~y~0 (+ main_~b~0 main_~a~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (<= 1 (+ main_~r~0 (* main_~s~0 2))) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {15106#(and (= main_~p~0 3) (<= main_~x~0 main_~y~0) (= (mod main_~r~0 2) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ (* main_~x~0 3) (* main_~y~0 (div main_~r~0 (- 2))))) (not (= main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:43:51,721 INFO L290 TraceCheckUtils]: 82: Hoare triple {15106#(and (= main_~p~0 3) (<= main_~x~0 main_~y~0) (= (mod main_~r~0 2) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ (* main_~x~0 3) (* main_~y~0 (div main_~r~0 (- 2))))) (not (= main_~y~0 main_~x~0)))} assume !false; {15106#(and (= main_~p~0 3) (<= main_~x~0 main_~y~0) (= (mod main_~r~0 2) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ (* main_~x~0 3) (* main_~y~0 (div main_~r~0 (- 2))))) (not (= main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:43:51,721 INFO L272 TraceCheckUtils]: 83: Hoare triple {15106#(and (= main_~p~0 3) (<= main_~x~0 main_~y~0) (= (mod main_~r~0 2) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ (* main_~x~0 3) (* main_~y~0 (div main_~r~0 (- 2))))) (not (= main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:43:51,721 INFO L290 TraceCheckUtils]: 84: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:43:51,721 INFO L290 TraceCheckUtils]: 85: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:43:51,721 INFO L290 TraceCheckUtils]: 86: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:43:51,721 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {14851#true} {15106#(and (= main_~p~0 3) (<= main_~x~0 main_~y~0) (= (mod main_~r~0 2) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ (* main_~x~0 3) (* main_~y~0 (div main_~r~0 (- 2))))) (not (= main_~y~0 main_~x~0)))} #74#return; {15106#(and (= main_~p~0 3) (<= main_~x~0 main_~y~0) (= (mod main_~r~0 2) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ (* main_~x~0 3) (* main_~y~0 (div main_~r~0 (- 2))))) (not (= main_~y~0 main_~x~0)))} is VALID [2022-04-28 05:43:51,724 INFO L272 TraceCheckUtils]: 88: Hoare triple {15106#(and (= main_~p~0 3) (<= main_~x~0 main_~y~0) (= (mod main_~r~0 2) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (+ main_~y~0 (* main_~p~0 main_~x~0)) (+ (* main_~x~0 3) (* main_~y~0 (div main_~r~0 (- 2))))) (not (= main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15128#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:43:51,724 INFO L290 TraceCheckUtils]: 89: Hoare triple {15128#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15132#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:43:51,724 INFO L290 TraceCheckUtils]: 90: Hoare triple {15132#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14852#false} is VALID [2022-04-28 05:43:51,724 INFO L290 TraceCheckUtils]: 91: Hoare triple {14852#false} assume !false; {14852#false} is VALID [2022-04-28 05:43:51,725 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 40 proven. 34 refuted. 0 times theorem prover too weak. 177 trivial. 0 not checked. [2022-04-28 05:43:51,725 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:44:09,178 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:44:09,304 INFO L290 TraceCheckUtils]: 91: Hoare triple {14852#false} assume !false; {14852#false} is VALID [2022-04-28 05:44:09,304 INFO L290 TraceCheckUtils]: 90: Hoare triple {15132#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14852#false} is VALID [2022-04-28 05:44:09,304 INFO L290 TraceCheckUtils]: 89: Hoare triple {15128#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15132#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:44:09,305 INFO L272 TraceCheckUtils]: 88: Hoare triple {15148#(= 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)); {15128#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:44:09,306 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {14851#true} {15148#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {15148#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:44:09,306 INFO L290 TraceCheckUtils]: 86: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:44:09,306 INFO L290 TraceCheckUtils]: 85: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:44:09,306 INFO L290 TraceCheckUtils]: 84: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:44:09,306 INFO L272 TraceCheckUtils]: 83: Hoare triple {15148#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:44:09,306 INFO L290 TraceCheckUtils]: 82: Hoare triple {15148#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {15148#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:44:09,586 INFO L290 TraceCheckUtils]: 81: Hoare triple {15170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {15148#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:44:09,587 INFO L290 TraceCheckUtils]: 80: Hoare triple {15170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {15170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:44:09,588 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14851#true} {15170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} #78#return; {15170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:44:09,588 INFO L290 TraceCheckUtils]: 78: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:44:09,588 INFO L290 TraceCheckUtils]: 77: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:44:09,588 INFO L290 TraceCheckUtils]: 76: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:44:09,588 INFO L272 TraceCheckUtils]: 75: Hoare triple {15170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:44:09,589 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {15077#(not (= |__VERIFIER_assert_#in~cond| 0))} {15192#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #76#return; {15170#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:44:09,589 INFO L290 TraceCheckUtils]: 73: Hoare triple {15077#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15077#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:44:09,589 INFO L290 TraceCheckUtils]: 72: Hoare triple {15202#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15077#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:44:09,590 INFO L290 TraceCheckUtils]: 71: Hoare triple {14851#true} ~cond := #in~cond; {15202#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:44:09,590 INFO L272 TraceCheckUtils]: 70: Hoare triple {15192#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:44:09,590 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14851#true} {15192#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #74#return; {15192#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:44:09,590 INFO L290 TraceCheckUtils]: 68: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:44:09,591 INFO L290 TraceCheckUtils]: 67: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:44:09,591 INFO L290 TraceCheckUtils]: 66: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:44:09,591 INFO L272 TraceCheckUtils]: 65: Hoare triple {15192#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:44:09,591 INFO L290 TraceCheckUtils]: 64: Hoare triple {15192#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {15192#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:44:09,759 INFO L290 TraceCheckUtils]: 63: Hoare triple {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {15192#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:44:09,760 INFO L290 TraceCheckUtils]: 62: Hoare triple {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(~a~0 != ~b~0); {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 05:44:09,760 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14851#true} {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #78#return; {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 05:44:09,760 INFO L290 TraceCheckUtils]: 60: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:44:09,760 INFO L290 TraceCheckUtils]: 59: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:44:09,760 INFO L290 TraceCheckUtils]: 58: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:44:09,760 INFO L272 TraceCheckUtils]: 57: Hoare triple {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:44:09,761 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14851#true} {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #76#return; {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 05:44:09,761 INFO L290 TraceCheckUtils]: 55: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:44:09,761 INFO L290 TraceCheckUtils]: 54: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:44:09,761 INFO L290 TraceCheckUtils]: 53: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:44:09,761 INFO L272 TraceCheckUtils]: 52: Hoare triple {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:44:09,762 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14851#true} {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #74#return; {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 05:44:09,762 INFO L290 TraceCheckUtils]: 50: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:44:09,762 INFO L290 TraceCheckUtils]: 49: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:44:09,762 INFO L290 TraceCheckUtils]: 48: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:44:09,762 INFO L272 TraceCheckUtils]: 47: Hoare triple {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:44:09,763 INFO L290 TraceCheckUtils]: 46: Hoare triple {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !false; {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 05:44:11,765 WARN L290 TraceCheckUtils]: 45: Hoare triple {15282#(or (< main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15227#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< (+ (* main_~q~0 main_~x~0) main_~b~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is UNKNOWN [2022-04-28 05:44:11,766 INFO L290 TraceCheckUtils]: 44: Hoare triple {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~a~0 != ~b~0); {15282#(or (< main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:44:11,766 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {14851#true} {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #78#return; {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:44:11,766 INFO L290 TraceCheckUtils]: 42: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:44:11,767 INFO L290 TraceCheckUtils]: 41: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:44:11,767 INFO L290 TraceCheckUtils]: 40: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:44:11,767 INFO L272 TraceCheckUtils]: 39: Hoare triple {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~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)); {14851#true} is VALID [2022-04-28 05:44:11,767 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14851#true} {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #76#return; {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:44:11,767 INFO L290 TraceCheckUtils]: 37: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:44:11,767 INFO L290 TraceCheckUtils]: 36: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:44:11,767 INFO L290 TraceCheckUtils]: 35: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:44:11,768 INFO L272 TraceCheckUtils]: 34: Hoare triple {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~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)); {14851#true} is VALID [2022-04-28 05:44:11,768 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14851#true} {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #74#return; {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:44:11,768 INFO L290 TraceCheckUtils]: 32: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:44:11,768 INFO L290 TraceCheckUtils]: 31: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:44:11,768 INFO L290 TraceCheckUtils]: 30: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:44:11,768 INFO L272 TraceCheckUtils]: 29: Hoare triple {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:44:11,769 INFO L290 TraceCheckUtils]: 28: Hoare triple {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:44:11,770 INFO L290 TraceCheckUtils]: 27: Hoare triple {14851#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15286#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~a~0) (+ (* (* main_~y~0 main_~r~0) 4) (* (* main_~p~0 main_~x~0) 4)))) (= (+ (* (- 1) main_~a~0) (* (- 1) (* (- 2) main_~y~0 main_~r~0)) (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* (- 2) main_~p~0 main_~x~0)) (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0) (* (- 1) (* main_~q~0 main_~x~0))) (+ (* (+ (* (- 2) main_~q~0) (* main_~p~0 3)) main_~x~0) (* main_~y~0 (+ (* (- 2) main_~s~0) (* main_~r~0 3))))) (not (= (+ (* (- 1) main_~a~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* (- 2) main_~y~0 main_~r~0) main_~a~0 (* (- 2) main_~p~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:44:11,770 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14851#true} {14851#true} #72#return; {14851#true} is VALID [2022-04-28 05:44:11,770 INFO L290 TraceCheckUtils]: 25: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:44:11,770 INFO L290 TraceCheckUtils]: 24: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:44:11,770 INFO L290 TraceCheckUtils]: 23: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:44:11,770 INFO L272 TraceCheckUtils]: 22: Hoare triple {14851#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:44:11,770 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14851#true} {14851#true} #70#return; {14851#true} is VALID [2022-04-28 05:44:11,770 INFO L290 TraceCheckUtils]: 20: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:44:11,770 INFO L290 TraceCheckUtils]: 19: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:44:11,770 INFO L290 TraceCheckUtils]: 18: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:44:11,771 INFO L272 TraceCheckUtils]: 17: Hoare triple {14851#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:44:11,771 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14851#true} {14851#true} #68#return; {14851#true} is VALID [2022-04-28 05:44:11,771 INFO L290 TraceCheckUtils]: 15: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:44:11,771 INFO L290 TraceCheckUtils]: 14: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:44:11,771 INFO L290 TraceCheckUtils]: 13: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:44:11,771 INFO L272 TraceCheckUtils]: 12: Hoare triple {14851#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:44:11,771 INFO L290 TraceCheckUtils]: 11: Hoare triple {14851#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14851#true} is VALID [2022-04-28 05:44:11,771 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14851#true} {14851#true} #66#return; {14851#true} is VALID [2022-04-28 05:44:11,771 INFO L290 TraceCheckUtils]: 9: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:44:11,771 INFO L290 TraceCheckUtils]: 8: Hoare triple {14851#true} assume !(0 == ~cond); {14851#true} is VALID [2022-04-28 05:44:11,771 INFO L290 TraceCheckUtils]: 7: Hoare triple {14851#true} ~cond := #in~cond; {14851#true} is VALID [2022-04-28 05:44:11,771 INFO L272 TraceCheckUtils]: 6: Hoare triple {14851#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {14851#true} is VALID [2022-04-28 05:44:11,771 INFO L290 TraceCheckUtils]: 5: Hoare triple {14851#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {14851#true} is VALID [2022-04-28 05:44:11,771 INFO L272 TraceCheckUtils]: 4: Hoare triple {14851#true} call #t~ret6 := main(); {14851#true} is VALID [2022-04-28 05:44:11,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14851#true} {14851#true} #88#return; {14851#true} is VALID [2022-04-28 05:44:11,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {14851#true} assume true; {14851#true} is VALID [2022-04-28 05:44:11,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {14851#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {14851#true} is VALID [2022-04-28 05:44:11,772 INFO L272 TraceCheckUtils]: 0: Hoare triple {14851#true} call ULTIMATE.init(); {14851#true} is VALID [2022-04-28 05:44:11,772 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 46 proven. 28 refuted. 0 times theorem prover too weak. 177 trivial. 0 not checked. [2022-04-28 05:44:11,772 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:44:11,772 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [944756299] [2022-04-28 05:44:11,772 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:44:11,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1342082774] [2022-04-28 05:44:11,773 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1342082774] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:44:11,773 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:44:11,773 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-28 05:44:11,773 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:44:11,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [914075999] [2022-04-28 05:44:11,773 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [914075999] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:44:11,773 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:44:11,773 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 05:44:11,773 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [569822716] [2022-04-28 05:44:11,773 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:44:11,774 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) Word has length 92 [2022-04-28 05:44:11,774 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:44:11,774 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 05:44:11,840 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 05:44:11,840 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 05:44:11,840 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:44:11,840 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 05:44:11,841 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=72, Invalid=270, Unknown=0, NotChecked=0, Total=342 [2022-04-28 05:44:11,841 INFO L87 Difference]: Start difference. First operand 191 states and 222 transitions. Second operand has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 05:44:14,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:44:14,680 INFO L93 Difference]: Finished difference Result 220 states and 258 transitions. [2022-04-28 05:44:14,680 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 05:44:14,680 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) Word has length 92 [2022-04-28 05:44:14,681 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:44:14,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 05:44:14,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2022-04-28 05:44:14,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 05:44:14,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2022-04-28 05:44:14,683 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 79 transitions. [2022-04-28 05:44:14,783 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:44:14,787 INFO L225 Difference]: With dead ends: 220 [2022-04-28 05:44:14,787 INFO L226 Difference]: Without dead ends: 218 [2022-04-28 05:44:14,787 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 165 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=85, Invalid=335, Unknown=0, NotChecked=0, Total=420 [2022-04-28 05:44:14,787 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 14 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 336 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 191 SdHoareTripleChecker+Invalid, 348 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 336 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:44:14,788 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 191 Invalid, 348 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 336 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 05:44:14,788 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 218 states. [2022-04-28 05:44:15,157 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 218 to 208. [2022-04-28 05:44:15,157 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:44:15,157 INFO L82 GeneralOperation]: Start isEquivalent. First operand 218 states. Second operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-28 05:44:15,158 INFO L74 IsIncluded]: Start isIncluded. First operand 218 states. Second operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-28 05:44:15,158 INFO L87 Difference]: Start difference. First operand 218 states. Second operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-28 05:44:15,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:44:15,161 INFO L93 Difference]: Finished difference Result 218 states and 256 transitions. [2022-04-28 05:44:15,162 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 256 transitions. [2022-04-28 05:44:15,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:44:15,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:44:15,162 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) Second operand 218 states. [2022-04-28 05:44:15,163 INFO L87 Difference]: Start difference. First operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) Second operand 218 states. [2022-04-28 05:44:15,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:44:15,166 INFO L93 Difference]: Finished difference Result 218 states and 256 transitions. [2022-04-28 05:44:15,166 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 256 transitions. [2022-04-28 05:44:15,167 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:44:15,167 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:44:15,167 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:44:15,167 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:44:15,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-28 05:44:15,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 243 transitions. [2022-04-28 05:44:15,171 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 243 transitions. Word has length 92 [2022-04-28 05:44:15,171 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:44:15,171 INFO L495 AbstractCegarLoop]: Abstraction has 208 states and 243 transitions. [2022-04-28 05:44:15,171 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-28 05:44:15,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 243 transitions. [2022-04-28 05:44:16,632 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 243 edges. 243 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:44:16,633 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 243 transitions. [2022-04-28 05:44:16,633 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-28 05:44:16,633 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:44:16,633 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:44:16,652 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 05:44:16,834 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 05:44:16,834 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:44:16,834 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:44:16,834 INFO L85 PathProgramCache]: Analyzing trace with hash 1451786998, now seen corresponding path program 11 times [2022-04-28 05:44:16,834 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:44:16,834 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [936732652] [2022-04-28 05:44:16,835 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:44:16,835 INFO L85 PathProgramCache]: Analyzing trace with hash 1451786998, now seen corresponding path program 12 times [2022-04-28 05:44:16,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:44:16,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1337999498] [2022-04-28 05:44:16,836 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:44:16,836 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:44:16,844 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:44:16,844 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1031411599] [2022-04-28 05:44:16,845 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:44:16,845 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:44:16,845 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:44:16,856 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 05:44:16,857 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 05:44:16,903 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 05:44:16,903 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:44:16,904 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 05:44:16,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:44:16,932 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:44:29,627 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:44:32,976 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:44:44,769 INFO L272 TraceCheckUtils]: 0: Hoare triple {16717#true} call ULTIMATE.init(); {16717#true} is VALID [2022-04-28 05:44:44,770 INFO L290 TraceCheckUtils]: 1: Hoare triple {16717#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {16717#true} is VALID [2022-04-28 05:44:44,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 05:44:44,770 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16717#true} {16717#true} #88#return; {16717#true} is VALID [2022-04-28 05:44:44,770 INFO L272 TraceCheckUtils]: 4: Hoare triple {16717#true} call #t~ret6 := main(); {16717#true} is VALID [2022-04-28 05:44:44,770 INFO L290 TraceCheckUtils]: 5: Hoare triple {16717#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {16717#true} is VALID [2022-04-28 05:44:44,770 INFO L272 TraceCheckUtils]: 6: Hoare triple {16717#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {16717#true} is VALID [2022-04-28 05:44:44,770 INFO L290 TraceCheckUtils]: 7: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 05:44:44,770 INFO L290 TraceCheckUtils]: 8: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 05:44:44,770 INFO L290 TraceCheckUtils]: 9: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 05:44:44,770 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16717#true} {16717#true} #66#return; {16717#true} is VALID [2022-04-28 05:44:44,770 INFO L290 TraceCheckUtils]: 11: Hoare triple {16717#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16717#true} is VALID [2022-04-28 05:44:44,770 INFO L272 TraceCheckUtils]: 12: Hoare triple {16717#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {16717#true} is VALID [2022-04-28 05:44:44,770 INFO L290 TraceCheckUtils]: 13: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 05:44:44,770 INFO L290 TraceCheckUtils]: 14: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 05:44:44,770 INFO L290 TraceCheckUtils]: 15: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 05:44:44,771 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16717#true} {16717#true} #68#return; {16717#true} is VALID [2022-04-28 05:44:44,771 INFO L272 TraceCheckUtils]: 17: Hoare triple {16717#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16717#true} is VALID [2022-04-28 05:44:44,771 INFO L290 TraceCheckUtils]: 18: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 05:44:44,771 INFO L290 TraceCheckUtils]: 19: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 05:44:44,771 INFO L290 TraceCheckUtils]: 20: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 05:44:44,771 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16717#true} {16717#true} #70#return; {16717#true} is VALID [2022-04-28 05:44:44,771 INFO L272 TraceCheckUtils]: 22: Hoare triple {16717#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16717#true} is VALID [2022-04-28 05:44:44,771 INFO L290 TraceCheckUtils]: 23: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 05:44:44,771 INFO L290 TraceCheckUtils]: 24: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 05:44:44,771 INFO L290 TraceCheckUtils]: 25: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 05:44:44,771 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16717#true} {16717#true} #72#return; {16717#true} is VALID [2022-04-28 05:44:44,772 INFO L290 TraceCheckUtils]: 27: Hoare triple {16717#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,772 INFO L290 TraceCheckUtils]: 28: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !false; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,772 INFO L272 TraceCheckUtils]: 29: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 05:44:44,772 INFO L290 TraceCheckUtils]: 30: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 05:44:44,772 INFO L290 TraceCheckUtils]: 31: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 05:44:44,772 INFO L290 TraceCheckUtils]: 32: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 05:44:44,773 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16717#true} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #74#return; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,773 INFO L272 TraceCheckUtils]: 34: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 05:44:44,773 INFO L290 TraceCheckUtils]: 35: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 05:44:44,773 INFO L290 TraceCheckUtils]: 36: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 05:44:44,773 INFO L290 TraceCheckUtils]: 37: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 05:44:44,774 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {16717#true} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #76#return; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,774 INFO L272 TraceCheckUtils]: 39: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 05:44:44,774 INFO L290 TraceCheckUtils]: 40: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 05:44:44,774 INFO L290 TraceCheckUtils]: 41: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 05:44:44,774 INFO L290 TraceCheckUtils]: 42: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 05:44:44,774 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {16717#true} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #78#return; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,775 INFO L290 TraceCheckUtils]: 44: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,775 INFO L290 TraceCheckUtils]: 45: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,775 INFO L290 TraceCheckUtils]: 46: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !false; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,776 INFO L272 TraceCheckUtils]: 47: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 05:44:44,776 INFO L290 TraceCheckUtils]: 48: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 05:44:44,776 INFO L290 TraceCheckUtils]: 49: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 05:44:44,776 INFO L290 TraceCheckUtils]: 50: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 05:44:44,776 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {16717#true} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #74#return; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,776 INFO L272 TraceCheckUtils]: 52: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 05:44:44,776 INFO L290 TraceCheckUtils]: 53: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 05:44:44,777 INFO L290 TraceCheckUtils]: 54: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 05:44:44,777 INFO L290 TraceCheckUtils]: 55: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 05:44:44,777 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {16717#true} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #76#return; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,777 INFO L272 TraceCheckUtils]: 57: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 05:44:44,777 INFO L290 TraceCheckUtils]: 58: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 05:44:44,777 INFO L290 TraceCheckUtils]: 59: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 05:44:44,777 INFO L290 TraceCheckUtils]: 60: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 05:44:44,778 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16717#true} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #78#return; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,778 INFO L290 TraceCheckUtils]: 62: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,779 INFO L290 TraceCheckUtils]: 63: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,779 INFO L290 TraceCheckUtils]: 64: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !false; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,779 INFO L272 TraceCheckUtils]: 65: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 05:44:44,779 INFO L290 TraceCheckUtils]: 66: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 05:44:44,779 INFO L290 TraceCheckUtils]: 67: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 05:44:44,779 INFO L290 TraceCheckUtils]: 68: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 05:44:44,780 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {16717#true} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #74#return; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,780 INFO L272 TraceCheckUtils]: 70: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 05:44:44,780 INFO L290 TraceCheckUtils]: 71: Hoare triple {16717#true} ~cond := #in~cond; {16717#true} is VALID [2022-04-28 05:44:44,780 INFO L290 TraceCheckUtils]: 72: Hoare triple {16717#true} assume !(0 == ~cond); {16717#true} is VALID [2022-04-28 05:44:44,780 INFO L290 TraceCheckUtils]: 73: Hoare triple {16717#true} assume true; {16717#true} is VALID [2022-04-28 05:44:44,781 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {16717#true} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #76#return; {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,781 INFO L272 TraceCheckUtils]: 75: Hoare triple {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 05:44:44,781 INFO L290 TraceCheckUtils]: 76: Hoare triple {16717#true} ~cond := #in~cond; {16951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:44:44,781 INFO L290 TraceCheckUtils]: 77: Hoare triple {16951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:44:44,782 INFO L290 TraceCheckUtils]: 78: Hoare triple {16955#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:44:44,782 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {16955#(not (= |__VERIFIER_assert_#in~cond| 0))} {16803#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #78#return; {16962#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,783 INFO L290 TraceCheckUtils]: 80: Hoare triple {16962#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16962#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:44:44,784 INFO L290 TraceCheckUtils]: 81: Hoare triple {16962#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {16969#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (= main_~r~0 (* (- 1) main_~s~0)) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 05:44:44,784 INFO L290 TraceCheckUtils]: 82: Hoare triple {16969#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (= main_~r~0 (* (- 1) main_~s~0)) (<= 1 (+ main_~q~0 main_~p~0)))} assume !false; {16969#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (= main_~r~0 (* (- 1) main_~s~0)) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 05:44:44,784 INFO L272 TraceCheckUtils]: 83: Hoare triple {16969#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (= main_~r~0 (* (- 1) main_~s~0)) (<= 1 (+ main_~q~0 main_~p~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16717#true} is VALID [2022-04-28 05:44:44,785 INFO L290 TraceCheckUtils]: 84: Hoare triple {16717#true} ~cond := #in~cond; {16951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:44:44,785 INFO L290 TraceCheckUtils]: 85: Hoare triple {16951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:44:44,785 INFO L290 TraceCheckUtils]: 86: Hoare triple {16955#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:44:46,788 WARN L284 TraceCheckUtils]: 87: Hoare quadruple {16955#(not (= |__VERIFIER_assert_#in~cond| 0))} {16969#(and (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (= main_~r~0 (* (- 1) main_~s~0)) (<= 1 (+ main_~q~0 main_~p~0)))} #74#return; {16988#(or (and (<= 1 (+ (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~p~0)) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) 0) (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~r~0) 1)) (not (= main_~x~0 0))) (and (= main_~x~0 0) (not (= main_~r~0 0)) (= (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) 0) (<= 1 (+ main_~p~0 (div (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0))) (= (mod (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0) 0)))} is UNKNOWN [2022-04-28 05:44:46,808 INFO L272 TraceCheckUtils]: 88: Hoare triple {16988#(or (and (<= 1 (+ (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~p~0)) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) 0) (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~r~0) 1)) (not (= main_~x~0 0))) (and (= main_~x~0 0) (not (= main_~r~0 0)) (= (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) 0) (<= 1 (+ main_~p~0 (div (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0))) (= (mod (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0) 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16992#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:44:46,808 INFO L290 TraceCheckUtils]: 89: Hoare triple {16992#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16996#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:44:46,809 INFO L290 TraceCheckUtils]: 90: Hoare triple {16996#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16718#false} is VALID [2022-04-28 05:44:46,809 INFO L290 TraceCheckUtils]: 91: Hoare triple {16718#false} assume !false; {16718#false} is VALID [2022-04-28 05:44:46,809 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 70 proven. 11 refuted. 0 times theorem prover too weak. 170 trivial. 0 not checked. [2022-04-28 05:44:46,809 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:46:16,652 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:50:12,155 WARN L855 $PredicateComparison]: unable to prove that (or (forall ((v_main_~r~0_BEFORE_CALL_133 Int) (v_main_~q~0_BEFORE_CALL_132 Int) (v_main_~p~0_BEFORE_CALL_136 Int) (v_main_~s~0_BEFORE_CALL_132 Int)) (or (not (= (+ (* (+ (* (- 1) v_main_~s~0_BEFORE_CALL_132) v_main_~r~0_BEFORE_CALL_133) v_main_~q~0_BEFORE_CALL_132) 1) (* (+ v_main_~p~0_BEFORE_CALL_136 (* (- 1) v_main_~q~0_BEFORE_CALL_132)) v_main_~s~0_BEFORE_CALL_132))) (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (let ((.cse0 (+ (* v_main_~r~0_BEFORE_CALL_133 v_main_~q~0_BEFORE_CALL_132) 1))) (or (= .cse0 0) (not (= |c___VERIFIER_assert_#in~cond| 1)) (= (mod .cse0 v_main_~p~0_BEFORE_CALL_136) 0)))))) (= c___VERIFIER_assert_~cond 0)) is different from true