/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/egcd-ll.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 04:15:15,070 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 04:15:15,072 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 04:15:15,116 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 04:15:15,117 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 04:15:15,118 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 04:15:15,120 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 04:15:15,122 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 04:15:15,123 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 04:15:15,127 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 04:15:15,127 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 04:15:15,129 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 04:15:15,129 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 04:15:15,132 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 04:15:15,132 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 04:15:15,134 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 04:15:15,135 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 04:15:15,135 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 04:15:15,137 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 04:15:15,141 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 04:15:15,142 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 04:15:15,143 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 04:15:15,144 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 04:15:15,144 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 04:15:15,145 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 04:15:15,150 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 04:15:15,150 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 04:15:15,150 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 04:15:15,151 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 04:15:15,151 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 04:15:15,152 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 04:15:15,152 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 04:15:15,153 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 04:15:15,154 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 04:15:15,154 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 04:15:15,155 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 04:15:15,155 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 04:15:15,155 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 04:15:15,155 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 04:15:15,156 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 04:15:15,156 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 04:15:15,157 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 04:15:15,158 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 04:15:15,167 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 04:15:15,167 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 04:15:15,168 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 04:15:15,168 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 04:15:15,168 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 04:15:15,168 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 04:15:15,168 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 04:15:15,169 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 04:15:15,169 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 04:15:15,169 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 04:15:15,169 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 04:15:15,169 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 04:15:15,169 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 04:15:15,170 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 04:15:15,170 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 04:15:15,170 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 04:15:15,170 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 04:15:15,170 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 04:15:15,170 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 04:15:15,170 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 04:15:15,170 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 04:15:15,170 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 04:15:15,170 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 04:15:15,170 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 04:15:15,170 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 04:15:15,171 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 04:15:15,343 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 04:15:15,370 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 04:15:15,371 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 04:15:15,372 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 04:15:15,373 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 04:15:15,374 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/egcd-ll.c [2022-04-28 04:15:15,415 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ea3c6dbc9/321e6e7ce35141c7b033c4e5fec10cfb/FLAG0ea155d95 [2022-04-28 04:15:15,786 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 04:15:15,787 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/egcd-ll.c [2022-04-28 04:15:15,795 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ea3c6dbc9/321e6e7ce35141c7b033c4e5fec10cfb/FLAG0ea155d95 [2022-04-28 04:15:15,806 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ea3c6dbc9/321e6e7ce35141c7b033c4e5fec10cfb [2022-04-28 04:15:15,808 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 04:15:15,809 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 04:15:15,811 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 04:15:15,811 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 04:15:15,814 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 04:15:15,815 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 04:15:15" (1/1) ... [2022-04-28 04:15:15,815 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@16b6efe6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:15, skipping insertion in model container [2022-04-28 04:15:15,816 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 04:15:15" (1/1) ... [2022-04-28 04:15:15,820 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 04:15:15,830 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 04:15:15,974 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/egcd-ll.c[489,502] [2022-04-28 04:15:16,006 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 04:15:16,011 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 04:15:16,022 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/egcd-ll.c[489,502] [2022-04-28 04:15:16,042 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 04:15:16,050 INFO L208 MainTranslator]: Completed translation [2022-04-28 04:15:16,050 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:16 WrapperNode [2022-04-28 04:15:16,051 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 04:15:16,052 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 04:15:16,052 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 04:15:16,052 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 04:15:16,058 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:16" (1/1) ... [2022-04-28 04:15:16,059 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:16" (1/1) ... [2022-04-28 04:15:16,064 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:16" (1/1) ... [2022-04-28 04:15:16,064 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:16" (1/1) ... [2022-04-28 04:15:16,075 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:16" (1/1) ... [2022-04-28 04:15:16,080 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:16" (1/1) ... [2022-04-28 04:15:16,083 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:16" (1/1) ... [2022-04-28 04:15:16,085 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 04:15:16,086 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 04:15:16,086 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 04:15:16,086 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 04:15:16,087 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:16" (1/1) ... [2022-04-28 04:15:16,092 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 04:15:16,098 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:15:16,110 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 04:15:16,116 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 04:15:16,135 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 04:15:16,135 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 04:15:16,136 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 04:15:16,136 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 04:15:16,136 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 04:15:16,136 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 04:15:16,136 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 04:15:16,136 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 04:15:16,136 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 04:15:16,136 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 04:15:16,136 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 04:15:16,136 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 04:15:16,136 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 04:15:16,137 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 04:15:16,137 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 04:15:16,137 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 04:15:16,137 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 04:15:16,137 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 04:15:16,137 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 04:15:16,137 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 04:15:16,176 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 04:15:16,177 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 04:15:16,284 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 04:15:16,289 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 04:15:16,289 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 04:15:16,291 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 04:15:16 BoogieIcfgContainer [2022-04-28 04:15:16,291 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 04:15:16,292 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 04:15:16,292 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 04:15:16,294 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 04:15:16,295 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 04:15:15" (1/3) ... [2022-04-28 04:15:16,295 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@42b7128d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 04:15:16, skipping insertion in model container [2022-04-28 04:15:16,295 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:15:16" (2/3) ... [2022-04-28 04:15:16,295 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@42b7128d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 04:15:16, skipping insertion in model container [2022-04-28 04:15:16,295 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 04:15:16" (3/3) ... [2022-04-28 04:15:16,296 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll.c [2022-04-28 04:15:16,305 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 04:15:16,306 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 04:15:16,359 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 04:15:16,366 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@4f9ac605, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@669b98ea [2022-04-28 04:15:16,367 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 04:15:16,396 INFO L276 IsEmpty]: Start isEmpty. Operand has 34 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 04:15:16,401 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 04:15:16,401 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:15:16,401 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:15:16,402 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:15:16,405 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:15:16,405 INFO L85 PathProgramCache]: Analyzing trace with hash -2012836591, now seen corresponding path program 1 times [2022-04-28 04:15:16,410 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:16,410 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [681820025] [2022-04-28 04:15:16,417 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:15:16,418 INFO L85 PathProgramCache]: Analyzing trace with hash -2012836591, now seen corresponding path program 2 times [2022-04-28 04:15:16,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:15:16,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [808094422] [2022-04-28 04:15:16,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:15:16,421 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:15:16,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:16,587 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:15:16,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:16,602 INFO L290 TraceCheckUtils]: 0: Hoare triple {50#(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); {37#true} is VALID [2022-04-28 04:15:16,602 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 04:15:16,603 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #81#return; {37#true} is VALID [2022-04-28 04:15:16,603 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:15:16,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:16,612 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 04:15:16,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 04:15:16,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 04:15:16,613 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #63#return; {38#false} is VALID [2022-04-28 04:15:16,614 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:15:16,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:16,624 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 04:15:16,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 04:15:16,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 04:15:16,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #65#return; {38#false} is VALID [2022-04-28 04:15:16,626 INFO L272 TraceCheckUtils]: 0: Hoare triple {37#true} call ULTIMATE.init(); {50#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:15:16,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {50#(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); {37#true} is VALID [2022-04-28 04:15:16,628 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 04:15:16,628 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #81#return; {37#true} is VALID [2022-04-28 04:15:16,628 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-28 04:15:16,628 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {37#true} is VALID [2022-04-28 04:15:16,628 INFO L272 TraceCheckUtils]: 6: Hoare triple {37#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {37#true} is VALID [2022-04-28 04:15:16,630 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 04:15:16,631 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 04:15:16,631 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 04:15:16,631 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #63#return; {38#false} is VALID [2022-04-28 04:15:16,631 INFO L272 TraceCheckUtils]: 11: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37#true} is VALID [2022-04-28 04:15:16,632 INFO L290 TraceCheckUtils]: 12: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 04:15:16,632 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 04:15:16,632 INFO L290 TraceCheckUtils]: 14: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 04:15:16,632 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {38#false} {38#false} #65#return; {38#false} is VALID [2022-04-28 04:15:16,633 INFO L290 TraceCheckUtils]: 16: Hoare triple {38#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {38#false} is VALID [2022-04-28 04:15:16,633 INFO L290 TraceCheckUtils]: 17: Hoare triple {38#false} assume false; {38#false} is VALID [2022-04-28 04:15:16,634 INFO L272 TraceCheckUtils]: 18: Hoare triple {38#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {38#false} is VALID [2022-04-28 04:15:16,634 INFO L290 TraceCheckUtils]: 19: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-28 04:15:16,634 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-28 04:15:16,634 INFO L290 TraceCheckUtils]: 21: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-28 04:15:16,635 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 04:15:16,635 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:15:16,635 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [808094422] [2022-04-28 04:15:16,636 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [808094422] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:16,637 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:16,637 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 04:15:16,639 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:15:16,640 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [681820025] [2022-04-28 04:15:16,640 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [681820025] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:16,641 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:16,641 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 04:15:16,641 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [126153896] [2022-04-28 04:15:16,642 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:15:16,646 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-28 04:15:16,647 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:15:16,650 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:15:16,677 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:16,678 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 04:15:16,678 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:16,698 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 04:15:16,699 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 04:15:16,702 INFO L87 Difference]: Start difference. First operand has 34 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:15:16,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:16,871 INFO L93 Difference]: Finished difference Result 61 states and 93 transitions. [2022-04-28 04:15:16,871 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 04:15:16,871 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-28 04:15:16,871 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:15:16,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:15:16,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 93 transitions. [2022-04-28 04:15:16,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:15:16,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 93 transitions. [2022-04-28 04:15:16,889 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 93 transitions. [2022-04-28 04:15:16,986 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:16,992 INFO L225 Difference]: With dead ends: 61 [2022-04-28 04:15:16,992 INFO L226 Difference]: Without dead ends: 29 [2022-04-28 04:15:16,994 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 04:15:16,996 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 17 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 36 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:15:16,996 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 36 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:15:17,006 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-28 04:15:17,016 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-28 04:15:17,016 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:15:17,017 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:15:17,017 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:15:17,017 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:15:17,021 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:17,021 INFO L93 Difference]: Finished difference Result 29 states and 37 transitions. [2022-04-28 04:15:17,021 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2022-04-28 04:15:17,022 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:17,022 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:17,023 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 29 states. [2022-04-28 04:15:17,023 INFO L87 Difference]: Start difference. First operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 29 states. [2022-04-28 04:15:17,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:17,026 INFO L93 Difference]: Finished difference Result 29 states and 37 transitions. [2022-04-28 04:15:17,026 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2022-04-28 04:15:17,026 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:17,026 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:17,027 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:15:17,027 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:15:17,027 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 04:15:17,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 37 transitions. [2022-04-28 04:15:17,030 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 37 transitions. Word has length 22 [2022-04-28 04:15:17,030 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:15:17,030 INFO L495 AbstractCegarLoop]: Abstraction has 29 states and 37 transitions. [2022-04-28 04:15:17,031 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 04:15:17,031 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 37 transitions. [2022-04-28 04:15:17,067 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:17,067 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2022-04-28 04:15:17,068 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 04:15:17,068 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:15:17,068 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:15:17,068 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 04:15:17,068 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:15:17,069 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:15:17,069 INFO L85 PathProgramCache]: Analyzing trace with hash 1952740121, now seen corresponding path program 1 times [2022-04-28 04:15:17,069 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:17,069 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [450486909] [2022-04-28 04:15:17,070 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:15:17,070 INFO L85 PathProgramCache]: Analyzing trace with hash 1952740121, now seen corresponding path program 2 times [2022-04-28 04:15:17,070 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:15:17,070 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [452615024] [2022-04-28 04:15:17,070 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:15:17,071 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:15:17,084 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:15:17,084 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [809442710] [2022-04-28 04:15:17,084 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:15:17,084 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:15:17,085 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:15:17,086 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 04:15:17,087 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 04:15:17,125 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 04:15:17,125 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:15:17,130 INFO L263 TraceCheckSpWp]: Trace formula consists of 78 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 04:15:17,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:17,148 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:15:20,365 INFO L272 TraceCheckUtils]: 0: Hoare triple {291#true} call ULTIMATE.init(); {291#true} is VALID [2022-04-28 04:15:20,365 INFO L290 TraceCheckUtils]: 1: Hoare triple {291#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); {291#true} is VALID [2022-04-28 04:15:20,365 INFO L290 TraceCheckUtils]: 2: Hoare triple {291#true} assume true; {291#true} is VALID [2022-04-28 04:15:20,365 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {291#true} {291#true} #81#return; {291#true} is VALID [2022-04-28 04:15:20,365 INFO L272 TraceCheckUtils]: 4: Hoare triple {291#true} call #t~ret6 := main(); {291#true} is VALID [2022-04-28 04:15:20,366 INFO L290 TraceCheckUtils]: 5: Hoare triple {291#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {291#true} is VALID [2022-04-28 04:15:20,366 INFO L272 TraceCheckUtils]: 6: Hoare triple {291#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {291#true} is VALID [2022-04-28 04:15:20,366 INFO L290 TraceCheckUtils]: 7: Hoare triple {291#true} ~cond := #in~cond; {291#true} is VALID [2022-04-28 04:15:20,366 INFO L290 TraceCheckUtils]: 8: Hoare triple {291#true} assume !(0 == ~cond); {291#true} is VALID [2022-04-28 04:15:20,366 INFO L290 TraceCheckUtils]: 9: Hoare triple {291#true} assume true; {291#true} is VALID [2022-04-28 04:15:20,366 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {291#true} {291#true} #63#return; {291#true} is VALID [2022-04-28 04:15:20,366 INFO L272 TraceCheckUtils]: 11: Hoare triple {291#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {291#true} is VALID [2022-04-28 04:15:20,367 INFO L290 TraceCheckUtils]: 12: Hoare triple {291#true} ~cond := #in~cond; {291#true} is VALID [2022-04-28 04:15:20,367 INFO L290 TraceCheckUtils]: 13: Hoare triple {291#true} assume !(0 == ~cond); {291#true} is VALID [2022-04-28 04:15:20,367 INFO L290 TraceCheckUtils]: 14: Hoare triple {291#true} assume true; {291#true} is VALID [2022-04-28 04:15:20,367 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {291#true} {291#true} #65#return; {291#true} is VALID [2022-04-28 04:15:20,368 INFO L290 TraceCheckUtils]: 16: Hoare triple {291#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {344#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 04:15:20,368 INFO L290 TraceCheckUtils]: 17: Hoare triple {344#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !false; {344#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 04:15:20,369 INFO L272 TraceCheckUtils]: 18: Hoare triple {344#(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)); {351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:15:20,369 INFO L290 TraceCheckUtils]: 19: Hoare triple {351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:20,370 INFO L290 TraceCheckUtils]: 20: Hoare triple {355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {292#false} is VALID [2022-04-28 04:15:20,370 INFO L290 TraceCheckUtils]: 21: Hoare triple {292#false} assume !false; {292#false} is VALID [2022-04-28 04:15:20,370 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 04:15:20,370 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 04:15:20,370 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:15:20,370 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [452615024] [2022-04-28 04:15:20,370 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:15:20,371 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [809442710] [2022-04-28 04:15:20,371 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [809442710] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:20,371 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:20,371 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:15:20,372 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:15:20,372 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [450486909] [2022-04-28 04:15:20,372 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [450486909] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:20,372 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:20,372 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:15:20,372 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [788704508] [2022-04-28 04:15:20,372 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:15:20,373 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 22 [2022-04-28 04:15:20,373 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:15:20,373 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 04:15:20,386 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:20,386 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 04:15:20,387 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:20,387 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 04:15:20,387 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 04:15:20,387 INFO L87 Difference]: Start difference. First operand 29 states and 37 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 04:15:20,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:20,574 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-28 04:15:20,574 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 04:15:20,574 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 22 [2022-04-28 04:15:20,575 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:15:20,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 04:15:20,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 04:15:20,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 04:15:20,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 04:15:20,579 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-28 04:15:20,636 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:20,640 INFO L225 Difference]: With dead ends: 45 [2022-04-28 04:15:20,641 INFO L226 Difference]: Without dead ends: 43 [2022-04-28 04:15:20,641 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 18 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 04:15:20,642 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 7 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 123 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 04:15:20,645 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 123 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:15:20,647 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-28 04:15:20,661 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 42. [2022-04-28 04:15:20,661 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:15:20,662 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 04:15:20,663 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 04:15:20,663 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 04:15:20,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:20,667 INFO L93 Difference]: Finished difference Result 43 states and 58 transitions. [2022-04-28 04:15:20,667 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 58 transitions. [2022-04-28 04:15:20,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:20,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:20,674 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 43 states. [2022-04-28 04:15:20,675 INFO L87 Difference]: Start difference. First operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 43 states. [2022-04-28 04:15:20,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:20,685 INFO L93 Difference]: Finished difference Result 43 states and 58 transitions. [2022-04-28 04:15:20,687 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 58 transitions. [2022-04-28 04:15:20,687 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:20,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:20,688 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:15:20,688 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:15:20,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 04:15:20,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 57 transitions. [2022-04-28 04:15:20,690 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 57 transitions. Word has length 22 [2022-04-28 04:15:20,691 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:15:20,691 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 57 transitions. [2022-04-28 04:15:20,691 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 04:15:20,691 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 57 transitions. [2022-04-28 04:15:20,750 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:20,750 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 57 transitions. [2022-04-28 04:15:20,752 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-28 04:15:20,752 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:15:20,752 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:15:20,769 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 04:15:20,967 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 04:15:20,968 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:15:20,968 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:15:20,968 INFO L85 PathProgramCache]: Analyzing trace with hash 652987931, now seen corresponding path program 1 times [2022-04-28 04:15:20,968 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:20,968 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [113954148] [2022-04-28 04:15:20,969 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:15:20,969 INFO L85 PathProgramCache]: Analyzing trace with hash 652987931, now seen corresponding path program 2 times [2022-04-28 04:15:20,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:15:20,969 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2031769942] [2022-04-28 04:15:20,969 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:15:20,969 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:15:20,992 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:15:20,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1684382980] [2022-04-28 04:15:20,993 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:15:20,993 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:15:20,993 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:15:20,994 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 04:15:20,995 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 04:15:21,033 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:15:21,033 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:15:21,034 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 04:15:21,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:21,054 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:15:21,250 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-28 04:15:21,251 INFO L290 TraceCheckUtils]: 1: Hoare triple {623#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); {623#true} is VALID [2022-04-28 04:15:21,251 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 04:15:21,251 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #81#return; {623#true} is VALID [2022-04-28 04:15:21,251 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-28 04:15:21,251 INFO L290 TraceCheckUtils]: 5: Hoare triple {623#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {623#true} is VALID [2022-04-28 04:15:21,251 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 04:15:21,252 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 04:15:21,252 INFO L290 TraceCheckUtils]: 8: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 04:15:21,252 INFO L290 TraceCheckUtils]: 9: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 04:15:21,252 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {623#true} {623#true} #63#return; {623#true} is VALID [2022-04-28 04:15:21,253 INFO L272 TraceCheckUtils]: 11: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 04:15:21,253 INFO L290 TraceCheckUtils]: 12: Hoare triple {623#true} ~cond := #in~cond; {664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:15:21,253 INFO L290 TraceCheckUtils]: 13: Hoare triple {664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:15:21,254 INFO L290 TraceCheckUtils]: 14: Hoare triple {668#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:15:21,254 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {668#(not (= |assume_abort_if_not_#in~cond| 0))} {623#true} #65#return; {675#(<= 1 main_~y~0)} is VALID [2022-04-28 04:15:21,255 INFO L290 TraceCheckUtils]: 16: Hoare triple {675#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:21,255 INFO L290 TraceCheckUtils]: 17: Hoare triple {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:21,257 INFO L272 TraceCheckUtils]: 18: Hoare triple {679#(and (= main_~r~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)); {623#true} is VALID [2022-04-28 04:15:21,257 INFO L290 TraceCheckUtils]: 19: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 04:15:21,258 INFO L290 TraceCheckUtils]: 20: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 04:15:21,258 INFO L290 TraceCheckUtils]: 21: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 04:15:21,259 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {623#true} {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:21,260 INFO L272 TraceCheckUtils]: 23: Hoare triple {679#(and (= main_~r~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)); {701#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:15:21,261 INFO L290 TraceCheckUtils]: 24: Hoare triple {701#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {705#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:21,261 INFO L290 TraceCheckUtils]: 25: Hoare triple {705#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-28 04:15:21,261 INFO L290 TraceCheckUtils]: 26: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-28 04:15:21,262 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:15:21,262 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 04:15:21,262 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:15:21,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2031769942] [2022-04-28 04:15:21,262 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:15:21,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1684382980] [2022-04-28 04:15:21,263 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1684382980] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:21,263 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:21,263 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 04:15:21,263 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:15:21,263 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [113954148] [2022-04-28 04:15:21,263 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [113954148] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:21,263 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:21,263 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 04:15:21,263 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [852739020] [2022-04-28 04:15:21,263 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:15:21,264 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-28 04:15:21,264 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:15:21,264 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:15:21,282 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:21,283 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 04:15:21,283 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:21,283 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 04:15:21,284 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-28 04:15:21,284 INFO L87 Difference]: Start difference. First operand 42 states and 57 transitions. Second operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:15:21,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:21,631 INFO L93 Difference]: Finished difference Result 49 states and 63 transitions. [2022-04-28 04:15:21,631 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 04:15:21,632 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-28 04:15:21,632 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:15:21,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:15:21,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-28 04:15:21,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:15:21,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-28 04:15:21,635 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 60 transitions. [2022-04-28 04:15:21,684 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:21,685 INFO L225 Difference]: With dead ends: 49 [2022-04-28 04:15:21,686 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 04:15:21,686 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-28 04:15:21,687 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 17 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 124 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 126 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 124 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:15:21,687 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 161 Invalid, 126 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 124 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:15:21,687 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 04:15:21,705 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-04-28 04:15:21,706 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:15:21,706 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 04:15:21,706 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 04:15:21,707 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 04:15:21,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:21,709 INFO L93 Difference]: Finished difference Result 47 states and 61 transitions. [2022-04-28 04:15:21,709 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 61 transitions. [2022-04-28 04:15:21,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:21,709 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:21,710 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 47 states. [2022-04-28 04:15:21,710 INFO L87 Difference]: Start difference. First operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 47 states. [2022-04-28 04:15:21,712 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:21,712 INFO L93 Difference]: Finished difference Result 47 states and 61 transitions. [2022-04-28 04:15:21,712 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 61 transitions. [2022-04-28 04:15:21,712 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:21,712 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:21,712 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:15:21,712 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:15:21,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 04:15:21,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 60 transitions. [2022-04-28 04:15:21,714 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 60 transitions. Word has length 27 [2022-04-28 04:15:21,714 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:15:21,714 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 60 transitions. [2022-04-28 04:15:21,714 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 04:15:21,715 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 60 transitions. [2022-04-28 04:15:21,773 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:21,773 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 60 transitions. [2022-04-28 04:15:21,774 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 04:15:21,774 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:15:21,774 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:15:21,793 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 04:15:21,987 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 04:15:21,987 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:15:21,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:15:21,988 INFO L85 PathProgramCache]: Analyzing trace with hash 1028398105, now seen corresponding path program 1 times [2022-04-28 04:15:21,988 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:21,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1735819021] [2022-04-28 04:15:21,988 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:15:21,988 INFO L85 PathProgramCache]: Analyzing trace with hash 1028398105, now seen corresponding path program 2 times [2022-04-28 04:15:21,989 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:15:21,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1782250786] [2022-04-28 04:15:21,989 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:15:21,989 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:15:22,000 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:15:22,000 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [255674773] [2022-04-28 04:15:22,000 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:15:22,000 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:15:22,000 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:15:22,004 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 04:15:22,005 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 04:15:22,043 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:15:22,044 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:15:22,044 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 04:15:22,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:22,056 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:15:22,234 INFO L272 TraceCheckUtils]: 0: Hoare triple {999#true} call ULTIMATE.init(); {999#true} is VALID [2022-04-28 04:15:22,234 INFO L290 TraceCheckUtils]: 1: Hoare triple {999#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); {999#true} is VALID [2022-04-28 04:15:22,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 04:15:22,234 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {999#true} {999#true} #81#return; {999#true} is VALID [2022-04-28 04:15:22,234 INFO L272 TraceCheckUtils]: 4: Hoare triple {999#true} call #t~ret6 := main(); {999#true} is VALID [2022-04-28 04:15:22,234 INFO L290 TraceCheckUtils]: 5: Hoare triple {999#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {999#true} is VALID [2022-04-28 04:15:22,234 INFO L272 TraceCheckUtils]: 6: Hoare triple {999#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {999#true} is VALID [2022-04-28 04:15:22,235 INFO L290 TraceCheckUtils]: 7: Hoare triple {999#true} ~cond := #in~cond; {1025#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:15:22,235 INFO L290 TraceCheckUtils]: 8: Hoare triple {1025#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1029#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:15:22,235 INFO L290 TraceCheckUtils]: 9: Hoare triple {1029#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1029#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:15:22,236 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1029#(not (= |assume_abort_if_not_#in~cond| 0))} {999#true} #63#return; {1036#(<= 1 main_~x~0)} is VALID [2022-04-28 04:15:22,236 INFO L272 TraceCheckUtils]: 11: Hoare triple {1036#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {999#true} is VALID [2022-04-28 04:15:22,236 INFO L290 TraceCheckUtils]: 12: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-28 04:15:22,236 INFO L290 TraceCheckUtils]: 13: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-28 04:15:22,237 INFO L290 TraceCheckUtils]: 14: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 04:15:22,237 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {999#true} {1036#(<= 1 main_~x~0)} #65#return; {1036#(<= 1 main_~x~0)} is VALID [2022-04-28 04:15:22,238 INFO L290 TraceCheckUtils]: 16: Hoare triple {1036#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:15:22,238 INFO L290 TraceCheckUtils]: 17: Hoare triple {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:15:22,238 INFO L272 TraceCheckUtils]: 18: Hoare triple {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {999#true} is VALID [2022-04-28 04:15:22,238 INFO L290 TraceCheckUtils]: 19: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-28 04:15:22,238 INFO L290 TraceCheckUtils]: 20: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-28 04:15:22,238 INFO L290 TraceCheckUtils]: 21: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 04:15:22,241 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {999#true} {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #67#return; {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:15:22,241 INFO L272 TraceCheckUtils]: 23: Hoare triple {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {999#true} is VALID [2022-04-28 04:15:22,241 INFO L290 TraceCheckUtils]: 24: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-28 04:15:22,241 INFO L290 TraceCheckUtils]: 25: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-28 04:15:22,241 INFO L290 TraceCheckUtils]: 26: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 04:15:22,242 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {999#true} {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #69#return; {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:15:22,243 INFO L272 TraceCheckUtils]: 28: Hoare triple {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1092#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:15:22,243 INFO L290 TraceCheckUtils]: 29: Hoare triple {1092#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1096#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:22,243 INFO L290 TraceCheckUtils]: 30: Hoare triple {1096#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1000#false} is VALID [2022-04-28 04:15:22,243 INFO L290 TraceCheckUtils]: 31: Hoare triple {1000#false} assume !false; {1000#false} is VALID [2022-04-28 04:15:22,244 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 04:15:22,244 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:15:22,412 INFO L290 TraceCheckUtils]: 31: Hoare triple {1000#false} assume !false; {1000#false} is VALID [2022-04-28 04:15:22,414 INFO L290 TraceCheckUtils]: 30: Hoare triple {1096#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1000#false} is VALID [2022-04-28 04:15:22,414 INFO L290 TraceCheckUtils]: 29: Hoare triple {1092#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1096#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:22,415 INFO L272 TraceCheckUtils]: 28: Hoare triple {1112#(= 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)); {1092#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:15:22,416 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {999#true} {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #69#return; {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:15:22,416 INFO L290 TraceCheckUtils]: 26: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 04:15:22,417 INFO L290 TraceCheckUtils]: 25: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-28 04:15:22,417 INFO L290 TraceCheckUtils]: 24: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-28 04:15:22,417 INFO L272 TraceCheckUtils]: 23: Hoare triple {1112#(= 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)); {999#true} is VALID [2022-04-28 04:15:22,424 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {999#true} {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #67#return; {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:15:22,424 INFO L290 TraceCheckUtils]: 21: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 04:15:22,424 INFO L290 TraceCheckUtils]: 20: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-28 04:15:22,424 INFO L290 TraceCheckUtils]: 19: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-28 04:15:22,424 INFO L272 TraceCheckUtils]: 18: Hoare triple {1112#(= 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)); {999#true} is VALID [2022-04-28 04:15:22,425 INFO L290 TraceCheckUtils]: 17: Hoare triple {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:15:22,425 INFO L290 TraceCheckUtils]: 16: Hoare triple {999#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:15:22,425 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {999#true} {999#true} #65#return; {999#true} is VALID [2022-04-28 04:15:22,425 INFO L290 TraceCheckUtils]: 14: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 04:15:22,425 INFO L290 TraceCheckUtils]: 13: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-28 04:15:22,425 INFO L290 TraceCheckUtils]: 12: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-28 04:15:22,425 INFO L272 TraceCheckUtils]: 11: Hoare triple {999#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {999#true} is VALID [2022-04-28 04:15:22,426 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {999#true} {999#true} #63#return; {999#true} is VALID [2022-04-28 04:15:22,426 INFO L290 TraceCheckUtils]: 9: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 04:15:22,426 INFO L290 TraceCheckUtils]: 8: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-28 04:15:22,426 INFO L290 TraceCheckUtils]: 7: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-28 04:15:22,426 INFO L272 TraceCheckUtils]: 6: Hoare triple {999#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {999#true} is VALID [2022-04-28 04:15:22,426 INFO L290 TraceCheckUtils]: 5: Hoare triple {999#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {999#true} is VALID [2022-04-28 04:15:22,426 INFO L272 TraceCheckUtils]: 4: Hoare triple {999#true} call #t~ret6 := main(); {999#true} is VALID [2022-04-28 04:15:22,426 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {999#true} {999#true} #81#return; {999#true} is VALID [2022-04-28 04:15:22,426 INFO L290 TraceCheckUtils]: 2: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-28 04:15:22,426 INFO L290 TraceCheckUtils]: 1: Hoare triple {999#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); {999#true} is VALID [2022-04-28 04:15:22,427 INFO L272 TraceCheckUtils]: 0: Hoare triple {999#true} call ULTIMATE.init(); {999#true} is VALID [2022-04-28 04:15:22,427 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 04:15:22,427 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:15:22,427 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1782250786] [2022-04-28 04:15:22,427 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:15:22,427 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [255674773] [2022-04-28 04:15:22,427 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [255674773] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 04:15:22,427 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 04:15:22,427 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 04:15:22,428 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:15:22,428 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1735819021] [2022-04-28 04:15:22,428 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1735819021] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:22,428 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:22,428 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:15:22,428 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [588504509] [2022-04-28 04:15:22,428 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:15:22,428 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 32 [2022-04-28 04:15:22,429 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:15:22,429 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 04:15:22,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:22,444 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 04:15:22,444 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:22,444 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 04:15:22,444 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 04:15:22,445 INFO L87 Difference]: Start difference. First operand 46 states and 60 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 04:15:22,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:22,672 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-28 04:15:22,673 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 04:15:22,673 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 32 [2022-04-28 04:15:22,673 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:15:22,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 04:15:22,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 04:15:22,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 04:15:22,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 04:15:22,676 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-28 04:15:22,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:22,723 INFO L225 Difference]: With dead ends: 71 [2022-04-28 04:15:22,723 INFO L226 Difference]: Without dead ends: 67 [2022-04-28 04:15:22,723 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 55 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 04:15:22,724 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 8 mSDsluCounter, 81 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:15:22,724 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 120 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:15:22,724 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-28 04:15:22,764 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 67. [2022-04-28 04:15:22,764 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:15:22,764 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 04:15:22,765 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 04:15:22,767 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 04:15:22,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:22,771 INFO L93 Difference]: Finished difference Result 67 states and 93 transitions. [2022-04-28 04:15:22,771 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 93 transitions. [2022-04-28 04:15:22,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:22,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:22,771 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 67 states. [2022-04-28 04:15:22,772 INFO L87 Difference]: Start difference. First operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 67 states. [2022-04-28 04:15:22,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:22,776 INFO L93 Difference]: Finished difference Result 67 states and 93 transitions. [2022-04-28 04:15:22,776 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 93 transitions. [2022-04-28 04:15:22,777 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:22,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:22,777 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:15:22,777 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:15:22,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 04:15:22,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 93 transitions. [2022-04-28 04:15:22,780 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 93 transitions. Word has length 32 [2022-04-28 04:15:22,781 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:15:22,781 INFO L495 AbstractCegarLoop]: Abstraction has 67 states and 93 transitions. [2022-04-28 04:15:22,781 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 04:15:22,781 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 67 states and 93 transitions. [2022-04-28 04:15:22,908 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:22,908 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 93 transitions. [2022-04-28 04:15:22,908 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 04:15:22,909 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:15:22,909 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:15:22,925 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 04:15:23,109 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 04:15:23,109 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:15:23,110 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:15:23,110 INFO L85 PathProgramCache]: Analyzing trace with hash -134474469, now seen corresponding path program 1 times [2022-04-28 04:15:23,110 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:23,110 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1597750606] [2022-04-28 04:15:23,110 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:15:23,110 INFO L85 PathProgramCache]: Analyzing trace with hash -134474469, now seen corresponding path program 2 times [2022-04-28 04:15:23,110 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:15:23,111 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [962128133] [2022-04-28 04:15:23,111 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:15:23,111 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:15:23,134 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:15:23,134 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1008036148] [2022-04-28 04:15:23,134 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:15:23,134 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:15:23,134 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:15:23,150 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 04:15:23,151 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 04:15:23,189 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:15:23,189 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:15:23,189 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 04:15:23,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:23,202 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:15:23,282 INFO L272 TraceCheckUtils]: 0: Hoare triple {1611#true} call ULTIMATE.init(); {1611#true} is VALID [2022-04-28 04:15:23,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {1611#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); {1611#true} is VALID [2022-04-28 04:15:23,282 INFO L290 TraceCheckUtils]: 2: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-28 04:15:23,282 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1611#true} {1611#true} #81#return; {1611#true} is VALID [2022-04-28 04:15:23,282 INFO L272 TraceCheckUtils]: 4: Hoare triple {1611#true} call #t~ret6 := main(); {1611#true} is VALID [2022-04-28 04:15:23,282 INFO L290 TraceCheckUtils]: 5: Hoare triple {1611#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1611#true} is VALID [2022-04-28 04:15:23,283 INFO L272 TraceCheckUtils]: 6: Hoare triple {1611#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1611#true} is VALID [2022-04-28 04:15:23,283 INFO L290 TraceCheckUtils]: 7: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-28 04:15:23,283 INFO L290 TraceCheckUtils]: 8: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-28 04:15:23,283 INFO L290 TraceCheckUtils]: 9: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-28 04:15:23,283 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1611#true} {1611#true} #63#return; {1611#true} is VALID [2022-04-28 04:15:23,283 INFO L272 TraceCheckUtils]: 11: Hoare triple {1611#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1611#true} is VALID [2022-04-28 04:15:23,283 INFO L290 TraceCheckUtils]: 12: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-28 04:15:23,283 INFO L290 TraceCheckUtils]: 13: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-28 04:15:23,283 INFO L290 TraceCheckUtils]: 14: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-28 04:15:23,283 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1611#true} {1611#true} #65#return; {1611#true} is VALID [2022-04-28 04:15:23,283 INFO L290 TraceCheckUtils]: 16: Hoare triple {1611#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1611#true} is VALID [2022-04-28 04:15:23,284 INFO L290 TraceCheckUtils]: 17: Hoare triple {1611#true} assume !false; {1611#true} is VALID [2022-04-28 04:15:23,284 INFO L272 TraceCheckUtils]: 18: Hoare triple {1611#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1611#true} is VALID [2022-04-28 04:15:23,284 INFO L290 TraceCheckUtils]: 19: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-28 04:15:23,284 INFO L290 TraceCheckUtils]: 20: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-28 04:15:23,284 INFO L290 TraceCheckUtils]: 21: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-28 04:15:23,284 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1611#true} {1611#true} #67#return; {1611#true} is VALID [2022-04-28 04:15:23,284 INFO L272 TraceCheckUtils]: 23: Hoare triple {1611#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1611#true} is VALID [2022-04-28 04:15:23,284 INFO L290 TraceCheckUtils]: 24: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-28 04:15:23,284 INFO L290 TraceCheckUtils]: 25: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-28 04:15:23,284 INFO L290 TraceCheckUtils]: 26: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-28 04:15:23,285 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1611#true} {1611#true} #69#return; {1611#true} is VALID [2022-04-28 04:15:23,285 INFO L272 TraceCheckUtils]: 28: Hoare triple {1611#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1611#true} is VALID [2022-04-28 04:15:23,285 INFO L290 TraceCheckUtils]: 29: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-28 04:15:23,285 INFO L290 TraceCheckUtils]: 30: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-28 04:15:23,285 INFO L290 TraceCheckUtils]: 31: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-28 04:15:23,285 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1611#true} {1611#true} #71#return; {1611#true} is VALID [2022-04-28 04:15:23,285 INFO L290 TraceCheckUtils]: 33: Hoare triple {1611#true} assume !(~a~0 != ~b~0); {1715#(= main_~b~0 main_~a~0)} is VALID [2022-04-28 04:15:23,286 INFO L272 TraceCheckUtils]: 34: Hoare triple {1715#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {1719#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:15:23,286 INFO L290 TraceCheckUtils]: 35: Hoare triple {1719#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1723#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:23,287 INFO L290 TraceCheckUtils]: 36: Hoare triple {1723#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1612#false} is VALID [2022-04-28 04:15:23,287 INFO L290 TraceCheckUtils]: 37: Hoare triple {1612#false} assume !false; {1612#false} is VALID [2022-04-28 04:15:23,287 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 04:15:23,287 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 04:15:23,287 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:15:23,287 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [962128133] [2022-04-28 04:15:23,287 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:15:23,287 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1008036148] [2022-04-28 04:15:23,287 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1008036148] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:23,287 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:23,288 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:15:23,288 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:15:23,288 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1597750606] [2022-04-28 04:15:23,288 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1597750606] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:23,288 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:23,288 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:15:23,288 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [671015742] [2022-04-28 04:15:23,288 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:15:23,288 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.75) 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), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 38 [2022-04-28 04:15:23,289 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:15:23,289 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 3.75) 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), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 04:15:23,304 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 04:15:23,305 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 04:15:23,305 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:23,305 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 04:15:23,305 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 04:15:23,305 INFO L87 Difference]: Start difference. First operand 67 states and 93 transitions. Second operand has 5 states, 4 states have (on average 3.75) 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), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 04:15:23,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:23,452 INFO L93 Difference]: Finished difference Result 73 states and 98 transitions. [2022-04-28 04:15:23,452 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 04:15:23,452 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.75) 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), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 38 [2022-04-28 04:15:23,452 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:15:23,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.75) 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), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 04:15:23,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-28 04:15:23,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.75) 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), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 04:15:23,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-28 04:15:23,454 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2022-04-28 04:15:23,482 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 04:15:23,483 INFO L225 Difference]: With dead ends: 73 [2022-04-28 04:15:23,483 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 04:15:23,483 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 04:15:23,484 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 5 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 119 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 04:15:23,484 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 119 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:15:23,485 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 04:15:23,521 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-28 04:15:23,521 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:15:23,521 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 04:15:23,521 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 04:15:23,522 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 04:15:23,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:23,524 INFO L93 Difference]: Finished difference Result 71 states and 96 transitions. [2022-04-28 04:15:23,524 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 96 transitions. [2022-04-28 04:15:23,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:23,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:23,524 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-28 04:15:23,525 INFO L87 Difference]: Start difference. First operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-28 04:15:23,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:23,527 INFO L93 Difference]: Finished difference Result 71 states and 96 transitions. [2022-04-28 04:15:23,527 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 96 transitions. [2022-04-28 04:15:23,527 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:23,527 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:23,527 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:15:23,528 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:15:23,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 04:15:23,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 96 transitions. [2022-04-28 04:15:23,530 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 96 transitions. Word has length 38 [2022-04-28 04:15:23,530 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:15:23,530 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 96 transitions. [2022-04-28 04:15:23,530 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 3.75) 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), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 04:15:23,530 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 96 transitions. [2022-04-28 04:15:23,620 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:23,621 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 96 transitions. [2022-04-28 04:15:23,621 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-28 04:15:23,621 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:15:23,621 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:15:23,639 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 04:15:23,835 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 04:15:23,835 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:15:23,836 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:15:23,836 INFO L85 PathProgramCache]: Analyzing trace with hash 251096952, now seen corresponding path program 1 times [2022-04-28 04:15:23,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:23,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1453818809] [2022-04-28 04:15:23,836 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:15:23,836 INFO L85 PathProgramCache]: Analyzing trace with hash 251096952, now seen corresponding path program 2 times [2022-04-28 04:15:23,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:15:23,837 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [658012559] [2022-04-28 04:15:23,837 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:15:23,837 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:15:23,848 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:15:23,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [81435868] [2022-04-28 04:15:23,849 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:15:23,849 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:15:23,849 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:15:23,850 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 04:15:23,850 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 04:15:23,882 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:15:23,882 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:15:23,883 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 04:15:23,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:23,892 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:15:26,410 INFO L272 TraceCheckUtils]: 0: Hoare triple {2161#true} call ULTIMATE.init(); {2161#true} is VALID [2022-04-28 04:15:26,411 INFO L290 TraceCheckUtils]: 1: Hoare triple {2161#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); {2161#true} is VALID [2022-04-28 04:15:26,411 INFO L290 TraceCheckUtils]: 2: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-28 04:15:26,411 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2161#true} {2161#true} #81#return; {2161#true} is VALID [2022-04-28 04:15:26,411 INFO L272 TraceCheckUtils]: 4: Hoare triple {2161#true} call #t~ret6 := main(); {2161#true} is VALID [2022-04-28 04:15:26,411 INFO L290 TraceCheckUtils]: 5: Hoare triple {2161#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2161#true} is VALID [2022-04-28 04:15:26,411 INFO L272 TraceCheckUtils]: 6: Hoare triple {2161#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2161#true} is VALID [2022-04-28 04:15:26,411 INFO L290 TraceCheckUtils]: 7: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-28 04:15:26,411 INFO L290 TraceCheckUtils]: 8: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-28 04:15:26,411 INFO L290 TraceCheckUtils]: 9: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-28 04:15:26,411 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2161#true} {2161#true} #63#return; {2161#true} is VALID [2022-04-28 04:15:26,412 INFO L272 TraceCheckUtils]: 11: Hoare triple {2161#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2161#true} is VALID [2022-04-28 04:15:26,412 INFO L290 TraceCheckUtils]: 12: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-28 04:15:26,412 INFO L290 TraceCheckUtils]: 13: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-28 04:15:26,412 INFO L290 TraceCheckUtils]: 14: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-28 04:15:26,412 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2161#true} {2161#true} #65#return; {2161#true} is VALID [2022-04-28 04:15:26,413 INFO L290 TraceCheckUtils]: 16: Hoare triple {2161#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:26,414 INFO L290 TraceCheckUtils]: 17: Hoare triple {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:26,414 INFO L272 TraceCheckUtils]: 18: Hoare triple {2214#(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)); {2161#true} is VALID [2022-04-28 04:15:26,414 INFO L290 TraceCheckUtils]: 19: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-28 04:15:26,414 INFO L290 TraceCheckUtils]: 20: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-28 04:15:26,414 INFO L290 TraceCheckUtils]: 21: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-28 04:15:26,415 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2161#true} {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #67#return; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:26,415 INFO L272 TraceCheckUtils]: 23: Hoare triple {2214#(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)); {2161#true} is VALID [2022-04-28 04:15:26,415 INFO L290 TraceCheckUtils]: 24: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-28 04:15:26,415 INFO L290 TraceCheckUtils]: 25: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-28 04:15:26,415 INFO L290 TraceCheckUtils]: 26: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-28 04:15:26,415 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2161#true} {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #69#return; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:26,416 INFO L272 TraceCheckUtils]: 28: Hoare triple {2214#(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)); {2161#true} is VALID [2022-04-28 04:15:26,416 INFO L290 TraceCheckUtils]: 29: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-28 04:15:26,416 INFO L290 TraceCheckUtils]: 30: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-28 04:15:26,416 INFO L290 TraceCheckUtils]: 31: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-28 04:15:26,416 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2161#true} {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #71#return; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:26,417 INFO L290 TraceCheckUtils]: 33: Hoare triple {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:26,417 INFO L290 TraceCheckUtils]: 34: Hoare triple {2214#(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; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:26,417 INFO L290 TraceCheckUtils]: 35: Hoare triple {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:26,418 INFO L272 TraceCheckUtils]: 36: Hoare triple {2214#(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)); {2275#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:15:26,418 INFO L290 TraceCheckUtils]: 37: Hoare triple {2275#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2279#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:26,419 INFO L290 TraceCheckUtils]: 38: Hoare triple {2279#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2162#false} is VALID [2022-04-28 04:15:26,419 INFO L290 TraceCheckUtils]: 39: Hoare triple {2162#false} assume !false; {2162#false} is VALID [2022-04-28 04:15:26,419 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 04:15:26,419 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 04:15:26,419 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:15:26,419 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [658012559] [2022-04-28 04:15:26,419 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:15:26,419 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [81435868] [2022-04-28 04:15:26,419 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [81435868] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:26,419 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:26,420 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:15:26,420 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:15:26,420 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1453818809] [2022-04-28 04:15:26,420 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1453818809] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:26,420 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:26,420 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:15:26,420 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1143005019] [2022-04-28 04:15:26,420 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:15:26,420 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 40 [2022-04-28 04:15:26,421 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:15:26,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 04:15:26,438 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:26,439 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 04:15:26,439 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:26,439 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 04:15:26,439 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 04:15:26,439 INFO L87 Difference]: Start difference. First operand 71 states and 96 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 04:15:26,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:26,612 INFO L93 Difference]: Finished difference Result 81 states and 104 transitions. [2022-04-28 04:15:26,612 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 04:15:26,612 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 40 [2022-04-28 04:15:26,612 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:15:26,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 04:15:26,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 04:15:26,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 04:15:26,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 04:15:26,614 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-28 04:15:26,657 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:26,659 INFO L225 Difference]: With dead ends: 81 [2022-04-28 04:15:26,659 INFO L226 Difference]: Without dead ends: 78 [2022-04-28 04:15:26,659 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 35 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 04:15:26,660 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 6 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 126 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 04:15:26,660 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 126 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:15:26,660 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2022-04-28 04:15:26,712 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 76. [2022-04-28 04:15:26,712 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:15:26,713 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 04:15:26,713 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 04:15:26,713 INFO L87 Difference]: Start difference. First operand 78 states. Second operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 04:15:26,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:26,715 INFO L93 Difference]: Finished difference Result 78 states and 100 transitions. [2022-04-28 04:15:26,715 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 100 transitions. [2022-04-28 04:15:26,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:26,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:26,716 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 78 states. [2022-04-28 04:15:26,716 INFO L87 Difference]: Start difference. First operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 78 states. [2022-04-28 04:15:26,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:26,718 INFO L93 Difference]: Finished difference Result 78 states and 100 transitions. [2022-04-28 04:15:26,718 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 100 transitions. [2022-04-28 04:15:26,719 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:26,719 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:26,719 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:15:26,719 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:15:26,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 04:15:26,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 97 transitions. [2022-04-28 04:15:26,721 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 97 transitions. Word has length 40 [2022-04-28 04:15:26,721 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:15:26,721 INFO L495 AbstractCegarLoop]: Abstraction has 76 states and 97 transitions. [2022-04-28 04:15:26,721 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 04:15:26,721 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 97 transitions. [2022-04-28 04:15:26,810 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:26,810 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 97 transitions. [2022-04-28 04:15:26,810 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 04:15:26,811 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:15:26,811 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:15:26,827 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 04:15:27,011 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 04:15:27,013 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:15:27,013 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:15:27,013 INFO L85 PathProgramCache]: Analyzing trace with hash -1098226535, now seen corresponding path program 1 times [2022-04-28 04:15:27,013 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:27,013 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2084612887] [2022-04-28 04:15:27,013 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:15:27,014 INFO L85 PathProgramCache]: Analyzing trace with hash -1098226535, now seen corresponding path program 2 times [2022-04-28 04:15:27,014 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:15:27,014 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1643658266] [2022-04-28 04:15:27,014 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:15:27,014 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:15:27,022 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:15:27,023 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1310081091] [2022-04-28 04:15:27,023 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:15:27,023 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:15:27,023 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:15:27,024 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 04:15:27,025 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 04:15:27,060 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:15:27,060 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:15:27,060 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 04:15:27,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:27,069 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:15:27,193 INFO L272 TraceCheckUtils]: 0: Hoare triple {2757#true} call ULTIMATE.init(); {2757#true} is VALID [2022-04-28 04:15:27,194 INFO L290 TraceCheckUtils]: 1: Hoare triple {2757#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); {2757#true} is VALID [2022-04-28 04:15:27,194 INFO L290 TraceCheckUtils]: 2: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 04:15:27,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2757#true} {2757#true} #81#return; {2757#true} is VALID [2022-04-28 04:15:27,194 INFO L272 TraceCheckUtils]: 4: Hoare triple {2757#true} call #t~ret6 := main(); {2757#true} is VALID [2022-04-28 04:15:27,194 INFO L290 TraceCheckUtils]: 5: Hoare triple {2757#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2757#true} is VALID [2022-04-28 04:15:27,194 INFO L272 TraceCheckUtils]: 6: Hoare triple {2757#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2757#true} is VALID [2022-04-28 04:15:27,194 INFO L290 TraceCheckUtils]: 7: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 04:15:27,194 INFO L290 TraceCheckUtils]: 8: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 04:15:27,194 INFO L290 TraceCheckUtils]: 9: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 04:15:27,194 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2757#true} {2757#true} #63#return; {2757#true} is VALID [2022-04-28 04:15:27,194 INFO L272 TraceCheckUtils]: 11: Hoare triple {2757#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2757#true} is VALID [2022-04-28 04:15:27,195 INFO L290 TraceCheckUtils]: 12: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 04:15:27,195 INFO L290 TraceCheckUtils]: 13: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 04:15:27,195 INFO L290 TraceCheckUtils]: 14: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 04:15:27,195 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2757#true} {2757#true} #65#return; {2757#true} is VALID [2022-04-28 04:15:27,195 INFO L290 TraceCheckUtils]: 16: Hoare triple {2757#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2757#true} is VALID [2022-04-28 04:15:27,195 INFO L290 TraceCheckUtils]: 17: Hoare triple {2757#true} assume !false; {2757#true} is VALID [2022-04-28 04:15:27,195 INFO L272 TraceCheckUtils]: 18: Hoare triple {2757#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2757#true} is VALID [2022-04-28 04:15:27,195 INFO L290 TraceCheckUtils]: 19: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 04:15:27,195 INFO L290 TraceCheckUtils]: 20: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 04:15:27,203 INFO L290 TraceCheckUtils]: 21: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 04:15:27,204 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2757#true} {2757#true} #67#return; {2757#true} is VALID [2022-04-28 04:15:27,204 INFO L272 TraceCheckUtils]: 23: Hoare triple {2757#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2757#true} is VALID [2022-04-28 04:15:27,209 INFO L290 TraceCheckUtils]: 24: Hoare triple {2757#true} ~cond := #in~cond; {2834#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:27,209 INFO L290 TraceCheckUtils]: 25: Hoare triple {2834#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:15:27,210 INFO L290 TraceCheckUtils]: 26: Hoare triple {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:15:27,211 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} {2757#true} #69#return; {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:15:27,211 INFO L272 TraceCheckUtils]: 28: Hoare triple {2845#(= 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)); {2757#true} is VALID [2022-04-28 04:15:27,211 INFO L290 TraceCheckUtils]: 29: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 04:15:27,211 INFO L290 TraceCheckUtils]: 30: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 04:15:27,211 INFO L290 TraceCheckUtils]: 31: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 04:15:27,212 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2757#true} {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #71#return; {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:15:27,213 INFO L290 TraceCheckUtils]: 33: Hoare triple {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:15:27,213 INFO L272 TraceCheckUtils]: 34: Hoare triple {2864#(= 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)); {2757#true} is VALID [2022-04-28 04:15:27,213 INFO L290 TraceCheckUtils]: 35: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 04:15:27,213 INFO L290 TraceCheckUtils]: 36: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 04:15:27,213 INFO L290 TraceCheckUtils]: 37: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 04:15:27,213 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2757#true} {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #73#return; {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:15:27,214 INFO L272 TraceCheckUtils]: 39: Hoare triple {2864#(= 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)); {2883#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:15:27,215 INFO L290 TraceCheckUtils]: 40: Hoare triple {2883#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2887#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:27,215 INFO L290 TraceCheckUtils]: 41: Hoare triple {2887#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2758#false} is VALID [2022-04-28 04:15:27,215 INFO L290 TraceCheckUtils]: 42: Hoare triple {2758#false} assume !false; {2758#false} is VALID [2022-04-28 04:15:27,215 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 04:15:27,215 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:15:47,310 INFO L290 TraceCheckUtils]: 42: Hoare triple {2758#false} assume !false; {2758#false} is VALID [2022-04-28 04:15:47,310 INFO L290 TraceCheckUtils]: 41: Hoare triple {2887#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2758#false} is VALID [2022-04-28 04:15:47,311 INFO L290 TraceCheckUtils]: 40: Hoare triple {2883#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2887#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:47,312 INFO L272 TraceCheckUtils]: 39: Hoare triple {2864#(= 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)); {2883#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:15:47,312 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2757#true} {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #73#return; {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:15:47,313 INFO L290 TraceCheckUtils]: 37: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 04:15:47,313 INFO L290 TraceCheckUtils]: 36: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 04:15:47,313 INFO L290 TraceCheckUtils]: 35: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 04:15:47,313 INFO L272 TraceCheckUtils]: 34: Hoare triple {2864#(= 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)); {2757#true} is VALID [2022-04-28 04:15:47,313 INFO L290 TraceCheckUtils]: 33: Hoare triple {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:15:47,314 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2757#true} {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #71#return; {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:15:47,314 INFO L290 TraceCheckUtils]: 31: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 04:15:47,314 INFO L290 TraceCheckUtils]: 30: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 04:15:47,314 INFO L290 TraceCheckUtils]: 29: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 04:15:47,314 INFO L272 TraceCheckUtils]: 28: Hoare triple {2845#(= 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)); {2757#true} is VALID [2022-04-28 04:15:47,315 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} {2757#true} #69#return; {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:15:47,315 INFO L290 TraceCheckUtils]: 26: Hoare triple {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:15:47,315 INFO L290 TraceCheckUtils]: 25: Hoare triple {2948#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:15:47,316 INFO L290 TraceCheckUtils]: 24: Hoare triple {2757#true} ~cond := #in~cond; {2948#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:15:47,316 INFO L272 TraceCheckUtils]: 23: Hoare triple {2757#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2757#true} is VALID [2022-04-28 04:15:47,316 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2757#true} {2757#true} #67#return; {2757#true} is VALID [2022-04-28 04:15:47,316 INFO L290 TraceCheckUtils]: 21: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 04:15:47,316 INFO L290 TraceCheckUtils]: 20: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 04:15:47,316 INFO L290 TraceCheckUtils]: 19: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 04:15:47,316 INFO L272 TraceCheckUtils]: 18: Hoare triple {2757#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2757#true} is VALID [2022-04-28 04:15:47,316 INFO L290 TraceCheckUtils]: 17: Hoare triple {2757#true} assume !false; {2757#true} is VALID [2022-04-28 04:15:47,316 INFO L290 TraceCheckUtils]: 16: Hoare triple {2757#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2757#true} is VALID [2022-04-28 04:15:47,317 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2757#true} {2757#true} #65#return; {2757#true} is VALID [2022-04-28 04:15:47,317 INFO L290 TraceCheckUtils]: 14: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 04:15:47,317 INFO L290 TraceCheckUtils]: 13: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 04:15:47,317 INFO L290 TraceCheckUtils]: 12: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 04:15:47,317 INFO L272 TraceCheckUtils]: 11: Hoare triple {2757#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2757#true} is VALID [2022-04-28 04:15:47,317 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2757#true} {2757#true} #63#return; {2757#true} is VALID [2022-04-28 04:15:47,317 INFO L290 TraceCheckUtils]: 9: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 04:15:47,317 INFO L290 TraceCheckUtils]: 8: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-28 04:15:47,317 INFO L290 TraceCheckUtils]: 7: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-28 04:15:47,317 INFO L272 TraceCheckUtils]: 6: Hoare triple {2757#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2757#true} is VALID [2022-04-28 04:15:47,317 INFO L290 TraceCheckUtils]: 5: Hoare triple {2757#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2757#true} is VALID [2022-04-28 04:15:47,318 INFO L272 TraceCheckUtils]: 4: Hoare triple {2757#true} call #t~ret6 := main(); {2757#true} is VALID [2022-04-28 04:15:47,318 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2757#true} {2757#true} #81#return; {2757#true} is VALID [2022-04-28 04:15:47,318 INFO L290 TraceCheckUtils]: 2: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-28 04:15:47,318 INFO L290 TraceCheckUtils]: 1: Hoare triple {2757#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); {2757#true} is VALID [2022-04-28 04:15:47,318 INFO L272 TraceCheckUtils]: 0: Hoare triple {2757#true} call ULTIMATE.init(); {2757#true} is VALID [2022-04-28 04:15:47,318 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 04:15:47,318 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:15:47,318 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1643658266] [2022-04-28 04:15:47,318 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:15:47,318 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1310081091] [2022-04-28 04:15:47,318 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1310081091] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:15:47,319 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:15:47,319 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 04:15:47,319 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:15:47,319 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2084612887] [2022-04-28 04:15:47,319 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2084612887] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:15:47,319 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:15:47,319 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 04:15:47,319 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1992744529] [2022-04-28 04:15:47,319 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:15:47,320 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 43 [2022-04-28 04:15:47,320 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:15:47,320 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 04:15:47,344 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 04:15:47,344 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 04:15:47,344 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:47,345 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 04:15:47,345 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 04:15:47,345 INFO L87 Difference]: Start difference. First operand 76 states and 97 transitions. Second operand has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 04:15:47,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:47,843 INFO L93 Difference]: Finished difference Result 85 states and 107 transitions. [2022-04-28 04:15:47,843 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 04:15:47,843 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 43 [2022-04-28 04:15:47,843 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:15:47,843 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 04:15:47,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 47 transitions. [2022-04-28 04:15:47,844 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 04:15:47,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 47 transitions. [2022-04-28 04:15:47,845 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 47 transitions. [2022-04-28 04:15:47,885 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 04:15:47,886 INFO L225 Difference]: With dead ends: 85 [2022-04-28 04:15:47,887 INFO L226 Difference]: Without dead ends: 81 [2022-04-28 04:15:47,887 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 77 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 04:15:47,887 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 14 mSDsluCounter, 79 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 04:15:47,888 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 105 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 04:15:47,888 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-28 04:15:47,934 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2022-04-28 04:15:47,935 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:15:47,935 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 04:15:47,935 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 04:15:47,935 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 04:15:47,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:47,939 INFO L93 Difference]: Finished difference Result 81 states and 100 transitions. [2022-04-28 04:15:47,939 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 100 transitions. [2022-04-28 04:15:47,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:47,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:47,940 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 81 states. [2022-04-28 04:15:47,940 INFO L87 Difference]: Start difference. First operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 81 states. [2022-04-28 04:15:47,943 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:15:47,943 INFO L93 Difference]: Finished difference Result 81 states and 100 transitions. [2022-04-28 04:15:47,943 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 100 transitions. [2022-04-28 04:15:47,944 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:15:47,944 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:15:47,944 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:15:47,944 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:15:47,945 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 04:15:47,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 100 transitions. [2022-04-28 04:15:47,947 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 100 transitions. Word has length 43 [2022-04-28 04:15:47,947 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:15:47,947 INFO L495 AbstractCegarLoop]: Abstraction has 81 states and 100 transitions. [2022-04-28 04:15:47,947 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 04:15:47,947 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 100 transitions. [2022-04-28 04:15:48,059 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:15:48,059 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 100 transitions. [2022-04-28 04:15:48,060 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 04:15:48,060 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:15:48,060 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:15:48,078 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-28 04:15:48,265 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 04:15:48,265 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:15:48,266 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:15:48,266 INFO L85 PathProgramCache]: Analyzing trace with hash -17648356, now seen corresponding path program 3 times [2022-04-28 04:15:48,266 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:15:48,266 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1535177167] [2022-04-28 04:15:48,266 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:15:48,266 INFO L85 PathProgramCache]: Analyzing trace with hash -17648356, now seen corresponding path program 4 times [2022-04-28 04:15:48,266 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:15:48,266 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1004665929] [2022-04-28 04:15:48,266 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:15:48,267 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:15:48,278 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:15:48,279 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1764824710] [2022-04-28 04:15:48,279 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:15:48,279 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:15:48,279 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:15:48,280 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 04:15:48,281 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 04:15:48,329 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:15:48,329 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:15:48,330 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 04:15:48,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:15:48,338 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:15:48,757 INFO L272 TraceCheckUtils]: 0: Hoare triple {3523#true} call ULTIMATE.init(); {3523#true} is VALID [2022-04-28 04:15:48,757 INFO L290 TraceCheckUtils]: 1: Hoare triple {3523#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); {3523#true} is VALID [2022-04-28 04:15:48,757 INFO L290 TraceCheckUtils]: 2: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 04:15:48,757 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3523#true} {3523#true} #81#return; {3523#true} is VALID [2022-04-28 04:15:48,758 INFO L272 TraceCheckUtils]: 4: Hoare triple {3523#true} call #t~ret6 := main(); {3523#true} is VALID [2022-04-28 04:15:48,758 INFO L290 TraceCheckUtils]: 5: Hoare triple {3523#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3523#true} is VALID [2022-04-28 04:15:48,758 INFO L272 TraceCheckUtils]: 6: Hoare triple {3523#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3523#true} is VALID [2022-04-28 04:15:48,758 INFO L290 TraceCheckUtils]: 7: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 04:15:48,758 INFO L290 TraceCheckUtils]: 8: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 04:15:48,758 INFO L290 TraceCheckUtils]: 9: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 04:15:48,758 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3523#true} {3523#true} #63#return; {3523#true} is VALID [2022-04-28 04:15:48,758 INFO L272 TraceCheckUtils]: 11: Hoare triple {3523#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3523#true} is VALID [2022-04-28 04:15:48,759 INFO L290 TraceCheckUtils]: 12: Hoare triple {3523#true} ~cond := #in~cond; {3564#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:15:48,759 INFO L290 TraceCheckUtils]: 13: Hoare triple {3564#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3568#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:15:48,759 INFO L290 TraceCheckUtils]: 14: Hoare triple {3568#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3568#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:15:48,760 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3568#(not (= |assume_abort_if_not_#in~cond| 0))} {3523#true} #65#return; {3575#(<= 1 main_~y~0)} is VALID [2022-04-28 04:15:48,760 INFO L290 TraceCheckUtils]: 16: Hoare triple {3575#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:48,761 INFO L290 TraceCheckUtils]: 17: Hoare triple {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !false; {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:48,761 INFO L272 TraceCheckUtils]: 18: Hoare triple {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3523#true} is VALID [2022-04-28 04:15:48,761 INFO L290 TraceCheckUtils]: 19: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 04:15:48,761 INFO L290 TraceCheckUtils]: 20: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 04:15:48,761 INFO L290 TraceCheckUtils]: 21: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 04:15:48,762 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3523#true} {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #67#return; {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:48,762 INFO L272 TraceCheckUtils]: 23: Hoare triple {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3523#true} is VALID [2022-04-28 04:15:48,763 INFO L290 TraceCheckUtils]: 24: Hoare triple {3523#true} ~cond := #in~cond; {3604#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:48,763 INFO L290 TraceCheckUtils]: 25: Hoare triple {3604#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:15:48,763 INFO L290 TraceCheckUtils]: 26: Hoare triple {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:15:48,764 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #69#return; {3615#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:48,764 INFO L272 TraceCheckUtils]: 28: Hoare triple {3615#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3523#true} is VALID [2022-04-28 04:15:48,764 INFO L290 TraceCheckUtils]: 29: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 04:15:48,765 INFO L290 TraceCheckUtils]: 30: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 04:15:48,765 INFO L290 TraceCheckUtils]: 31: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 04:15:48,765 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3523#true} {3615#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} #71#return; {3615#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:48,766 INFO L290 TraceCheckUtils]: 33: Hoare triple {3615#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3615#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 04:15:48,766 INFO L290 TraceCheckUtils]: 34: Hoare triple {3615#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} is VALID [2022-04-28 04:15:48,767 INFO L290 TraceCheckUtils]: 35: Hoare triple {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} assume !false; {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} is VALID [2022-04-28 04:15:48,767 INFO L272 TraceCheckUtils]: 36: Hoare triple {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3523#true} is VALID [2022-04-28 04:15:48,767 INFO L290 TraceCheckUtils]: 37: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 04:15:48,767 INFO L290 TraceCheckUtils]: 38: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 04:15:48,767 INFO L290 TraceCheckUtils]: 39: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 04:15:48,768 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3523#true} {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} #67#return; {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} is VALID [2022-04-28 04:15:48,769 INFO L272 TraceCheckUtils]: 41: Hoare triple {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3659#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:15:48,769 INFO L290 TraceCheckUtils]: 42: Hoare triple {3659#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3663#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:15:48,769 INFO L290 TraceCheckUtils]: 43: Hoare triple {3663#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3524#false} is VALID [2022-04-28 04:15:48,769 INFO L290 TraceCheckUtils]: 44: Hoare triple {3524#false} assume !false; {3524#false} is VALID [2022-04-28 04:15:48,770 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 13 proven. 10 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 04:15:48,770 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:16:19,239 INFO L290 TraceCheckUtils]: 44: Hoare triple {3524#false} assume !false; {3524#false} is VALID [2022-04-28 04:16:19,240 INFO L290 TraceCheckUtils]: 43: Hoare triple {3663#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3524#false} is VALID [2022-04-28 04:16:19,240 INFO L290 TraceCheckUtils]: 42: Hoare triple {3659#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3663#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:19,241 INFO L272 TraceCheckUtils]: 41: Hoare triple {3679#(= 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)); {3659#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:16:19,242 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3523#true} {3679#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {3679#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:16:19,242 INFO L290 TraceCheckUtils]: 39: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 04:16:19,242 INFO L290 TraceCheckUtils]: 38: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 04:16:19,242 INFO L290 TraceCheckUtils]: 37: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 04:16:19,242 INFO L272 TraceCheckUtils]: 36: Hoare triple {3679#(= 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)); {3523#true} is VALID [2022-04-28 04:16:19,242 INFO L290 TraceCheckUtils]: 35: Hoare triple {3679#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3679#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:16:19,912 INFO L290 TraceCheckUtils]: 34: Hoare triple {3701#(= (+ main_~a~0 (* (- 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; {3679#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:16:19,912 INFO L290 TraceCheckUtils]: 33: Hoare triple {3701#(= (+ main_~a~0 (* (- 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); {3701#(= (+ main_~a~0 (* (- 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 04:16:19,913 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3523#true} {3701#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #71#return; {3701#(= (+ main_~a~0 (* (- 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 04:16:19,913 INFO L290 TraceCheckUtils]: 31: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 04:16:19,913 INFO L290 TraceCheckUtils]: 30: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 04:16:19,913 INFO L290 TraceCheckUtils]: 29: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 04:16:19,913 INFO L272 TraceCheckUtils]: 28: Hoare triple {3701#(= (+ main_~a~0 (* (- 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)); {3523#true} is VALID [2022-04-28 04:16:19,914 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} {3723#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #69#return; {3701#(= (+ main_~a~0 (* (- 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 04:16:19,915 INFO L290 TraceCheckUtils]: 26: Hoare triple {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:16:19,916 INFO L290 TraceCheckUtils]: 25: Hoare triple {3733#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:16:19,916 INFO L290 TraceCheckUtils]: 24: Hoare triple {3523#true} ~cond := #in~cond; {3733#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:16:19,916 INFO L272 TraceCheckUtils]: 23: Hoare triple {3723#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3523#true} is VALID [2022-04-28 04:16:19,917 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3523#true} {3723#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #67#return; {3723#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 04:16:19,917 INFO L290 TraceCheckUtils]: 21: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 04:16:19,917 INFO L290 TraceCheckUtils]: 20: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 04:16:19,917 INFO L290 TraceCheckUtils]: 19: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 04:16:19,917 INFO L272 TraceCheckUtils]: 18: Hoare triple {3723#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3523#true} is VALID [2022-04-28 04:16:19,918 INFO L290 TraceCheckUtils]: 17: Hoare triple {3723#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {3723#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 04:16:19,918 INFO L290 TraceCheckUtils]: 16: Hoare triple {3523#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3723#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 04:16:19,918 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3523#true} {3523#true} #65#return; {3523#true} is VALID [2022-04-28 04:16:19,918 INFO L290 TraceCheckUtils]: 14: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 04:16:19,918 INFO L290 TraceCheckUtils]: 13: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 04:16:19,918 INFO L290 TraceCheckUtils]: 12: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 04:16:19,919 INFO L272 TraceCheckUtils]: 11: Hoare triple {3523#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3523#true} is VALID [2022-04-28 04:16:19,919 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3523#true} {3523#true} #63#return; {3523#true} is VALID [2022-04-28 04:16:19,919 INFO L290 TraceCheckUtils]: 9: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 04:16:19,919 INFO L290 TraceCheckUtils]: 8: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-28 04:16:19,919 INFO L290 TraceCheckUtils]: 7: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-28 04:16:19,919 INFO L272 TraceCheckUtils]: 6: Hoare triple {3523#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3523#true} is VALID [2022-04-28 04:16:19,919 INFO L290 TraceCheckUtils]: 5: Hoare triple {3523#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3523#true} is VALID [2022-04-28 04:16:19,919 INFO L272 TraceCheckUtils]: 4: Hoare triple {3523#true} call #t~ret6 := main(); {3523#true} is VALID [2022-04-28 04:16:19,919 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3523#true} {3523#true} #81#return; {3523#true} is VALID [2022-04-28 04:16:19,919 INFO L290 TraceCheckUtils]: 2: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-28 04:16:19,919 INFO L290 TraceCheckUtils]: 1: Hoare triple {3523#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); {3523#true} is VALID [2022-04-28 04:16:19,919 INFO L272 TraceCheckUtils]: 0: Hoare triple {3523#true} call ULTIMATE.init(); {3523#true} is VALID [2022-04-28 04:16:19,920 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 10 proven. 10 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 04:16:19,920 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:16:19,920 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1004665929] [2022-04-28 04:16:19,920 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:16:19,920 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1764824710] [2022-04-28 04:16:19,920 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1764824710] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:16:19,920 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:16:19,920 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-28 04:16:19,920 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:16:19,920 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1535177167] [2022-04-28 04:16:19,921 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1535177167] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:16:19,921 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:16:19,921 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 04:16:19,921 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [876955695] [2022-04-28 04:16:19,921 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:16:19,921 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 45 [2022-04-28 04:16:19,921 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:16:19,921 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 04:16:19,954 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 04:16:19,954 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 04:16:19,954 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:19,954 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 04:16:19,954 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=197, Unknown=0, NotChecked=0, Total=240 [2022-04-28 04:16:19,955 INFO L87 Difference]: Start difference. First operand 81 states and 100 transitions. Second operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 04:16:21,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:21,172 INFO L93 Difference]: Finished difference Result 115 states and 142 transitions. [2022-04-28 04:16:21,172 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 04:16:21,172 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 45 [2022-04-28 04:16:21,172 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:16:21,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 04:16:21,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 70 transitions. [2022-04-28 04:16:21,174 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 04:16:21,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 70 transitions. [2022-04-28 04:16:21,175 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 70 transitions. [2022-04-28 04:16:21,243 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:21,246 INFO L225 Difference]: With dead ends: 115 [2022-04-28 04:16:21,246 INFO L226 Difference]: Without dead ends: 113 [2022-04-28 04:16:21,247 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 74 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=60, Invalid=282, Unknown=0, NotChecked=0, Total=342 [2022-04-28 04:16:21,247 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 27 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 333 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 348 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 333 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 04:16:21,247 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 132 Invalid, 348 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 333 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 04:16:21,248 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-04-28 04:16:21,300 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 109. [2022-04-28 04:16:21,300 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:16:21,301 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 04:16:21,306 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 04:16:21,308 INFO L87 Difference]: Start difference. First operand 113 states. Second operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 04:16:21,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:21,311 INFO L93 Difference]: Finished difference Result 113 states and 140 transitions. [2022-04-28 04:16:21,311 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 140 transitions. [2022-04-28 04:16:21,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:21,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:21,313 INFO L74 IsIncluded]: Start isIncluded. First operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) Second operand 113 states. [2022-04-28 04:16:21,313 INFO L87 Difference]: Start difference. First operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) Second operand 113 states. [2022-04-28 04:16:21,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:21,320 INFO L93 Difference]: Finished difference Result 113 states and 140 transitions. [2022-04-28 04:16:21,320 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 140 transitions. [2022-04-28 04:16:21,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:21,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:21,320 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:16:21,320 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:16:21,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 04:16:21,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 133 transitions. [2022-04-28 04:16:21,324 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 133 transitions. Word has length 45 [2022-04-28 04:16:21,324 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:16:21,324 INFO L495 AbstractCegarLoop]: Abstraction has 109 states and 133 transitions. [2022-04-28 04:16:21,324 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 04:16:21,324 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 109 states and 133 transitions. [2022-04-28 04:16:21,481 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 133 edges. 133 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:21,481 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 133 transitions. [2022-04-28 04:16:21,481 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:16:21,481 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:16:21,481 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:16:21,497 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 04:16:21,682 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 04:16:21,682 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:16:21,683 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:16:21,683 INFO L85 PathProgramCache]: Analyzing trace with hash 1834363254, now seen corresponding path program 1 times [2022-04-28 04:16:21,683 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:21,683 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [959199316] [2022-04-28 04:16:21,683 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:16:21,683 INFO L85 PathProgramCache]: Analyzing trace with hash 1834363254, now seen corresponding path program 2 times [2022-04-28 04:16:21,683 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:16:21,683 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [232097264] [2022-04-28 04:16:21,684 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:16:21,684 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:16:21,693 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:16:21,694 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2138319833] [2022-04-28 04:16:21,694 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:16:21,694 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:16:21,694 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:16:21,695 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 04:16:21,696 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 04:16:21,737 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:16:21,737 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:16:21,738 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 04:16:21,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:16:21,745 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:16:22,071 INFO L272 TraceCheckUtils]: 0: Hoare triple {4488#true} call ULTIMATE.init(); {4488#true} is VALID [2022-04-28 04:16:22,071 INFO L290 TraceCheckUtils]: 1: Hoare triple {4488#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); {4488#true} is VALID [2022-04-28 04:16:22,071 INFO L290 TraceCheckUtils]: 2: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 04:16:22,071 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4488#true} {4488#true} #81#return; {4488#true} is VALID [2022-04-28 04:16:22,071 INFO L272 TraceCheckUtils]: 4: Hoare triple {4488#true} call #t~ret6 := main(); {4488#true} is VALID [2022-04-28 04:16:22,071 INFO L290 TraceCheckUtils]: 5: Hoare triple {4488#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4488#true} is VALID [2022-04-28 04:16:22,071 INFO L272 TraceCheckUtils]: 6: Hoare triple {4488#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4488#true} is VALID [2022-04-28 04:16:22,072 INFO L290 TraceCheckUtils]: 7: Hoare triple {4488#true} ~cond := #in~cond; {4514#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:16:22,072 INFO L290 TraceCheckUtils]: 8: Hoare triple {4514#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4518#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:16:22,073 INFO L290 TraceCheckUtils]: 9: Hoare triple {4518#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4518#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:16:22,073 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4518#(not (= |assume_abort_if_not_#in~cond| 0))} {4488#true} #63#return; {4525#(<= 1 main_~x~0)} is VALID [2022-04-28 04:16:22,073 INFO L272 TraceCheckUtils]: 11: Hoare triple {4525#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4488#true} is VALID [2022-04-28 04:16:22,073 INFO L290 TraceCheckUtils]: 12: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 04:16:22,073 INFO L290 TraceCheckUtils]: 13: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 04:16:22,073 INFO L290 TraceCheckUtils]: 14: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 04:16:22,074 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4488#true} {4525#(<= 1 main_~x~0)} #65#return; {4525#(<= 1 main_~x~0)} is VALID [2022-04-28 04:16:22,074 INFO L290 TraceCheckUtils]: 16: Hoare triple {4525#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4544#(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 04:16:22,075 INFO L290 TraceCheckUtils]: 17: Hoare triple {4544#(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; {4544#(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 04:16:22,075 INFO L272 TraceCheckUtils]: 18: Hoare triple {4544#(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)); {4488#true} is VALID [2022-04-28 04:16:22,075 INFO L290 TraceCheckUtils]: 19: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 04:16:22,075 INFO L290 TraceCheckUtils]: 20: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 04:16:22,075 INFO L290 TraceCheckUtils]: 21: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 04:16:22,076 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4488#true} {4544#(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))} #67#return; {4544#(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 04:16:22,076 INFO L272 TraceCheckUtils]: 23: Hoare triple {4544#(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)); {4488#true} is VALID [2022-04-28 04:16:22,076 INFO L290 TraceCheckUtils]: 24: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 04:16:22,076 INFO L290 TraceCheckUtils]: 25: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 04:16:22,076 INFO L290 TraceCheckUtils]: 26: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 04:16:22,076 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4488#true} {4544#(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))} #69#return; {4544#(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 04:16:22,077 INFO L272 TraceCheckUtils]: 28: Hoare triple {4544#(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)); {4488#true} is VALID [2022-04-28 04:16:22,077 INFO L290 TraceCheckUtils]: 29: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 04:16:22,077 INFO L290 TraceCheckUtils]: 30: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 04:16:22,077 INFO L290 TraceCheckUtils]: 31: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 04:16:22,077 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4488#true} {4544#(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))} #71#return; {4544#(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 04:16:22,078 INFO L290 TraceCheckUtils]: 33: Hoare triple {4544#(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); {4544#(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 04:16:22,078 INFO L290 TraceCheckUtils]: 34: Hoare triple {4544#(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);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 04:16:22,079 INFO L290 TraceCheckUtils]: 35: Hoare triple {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} assume !false; {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 04:16:22,079 INFO L272 TraceCheckUtils]: 36: Hoare triple {4599#(and (<= 1 main_~x~0) (= 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)); {4488#true} is VALID [2022-04-28 04:16:22,079 INFO L290 TraceCheckUtils]: 37: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 04:16:22,079 INFO L290 TraceCheckUtils]: 38: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 04:16:22,079 INFO L290 TraceCheckUtils]: 39: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 04:16:22,080 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4488#true} {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #67#return; {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 04:16:22,080 INFO L272 TraceCheckUtils]: 41: Hoare triple {4599#(and (<= 1 main_~x~0) (= 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)); {4488#true} is VALID [2022-04-28 04:16:22,080 INFO L290 TraceCheckUtils]: 42: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 04:16:22,080 INFO L290 TraceCheckUtils]: 43: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 04:16:22,080 INFO L290 TraceCheckUtils]: 44: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 04:16:22,081 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4488#true} {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #69#return; {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 04:16:22,081 INFO L272 TraceCheckUtils]: 46: Hoare triple {4599#(and (<= 1 main_~x~0) (= 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)); {4636#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:16:22,082 INFO L290 TraceCheckUtils]: 47: Hoare triple {4636#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4640#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:22,082 INFO L290 TraceCheckUtils]: 48: Hoare triple {4640#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4489#false} is VALID [2022-04-28 04:16:22,082 INFO L290 TraceCheckUtils]: 49: Hoare triple {4489#false} assume !false; {4489#false} is VALID [2022-04-28 04:16:22,082 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-04-28 04:16:22,082 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:16:22,312 INFO L290 TraceCheckUtils]: 49: Hoare triple {4489#false} assume !false; {4489#false} is VALID [2022-04-28 04:16:22,313 INFO L290 TraceCheckUtils]: 48: Hoare triple {4640#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4489#false} is VALID [2022-04-28 04:16:22,313 INFO L290 TraceCheckUtils]: 47: Hoare triple {4636#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4640#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:22,314 INFO L272 TraceCheckUtils]: 46: Hoare triple {4656#(= 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)); {4636#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:16:22,314 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4488#true} {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #69#return; {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:16:22,315 INFO L290 TraceCheckUtils]: 44: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 04:16:22,315 INFO L290 TraceCheckUtils]: 43: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 04:16:22,315 INFO L290 TraceCheckUtils]: 42: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 04:16:22,315 INFO L272 TraceCheckUtils]: 41: Hoare triple {4656#(= 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)); {4488#true} is VALID [2022-04-28 04:16:22,315 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4488#true} {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #67#return; {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:16:22,315 INFO L290 TraceCheckUtils]: 39: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 04:16:22,316 INFO L290 TraceCheckUtils]: 38: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 04:16:22,316 INFO L290 TraceCheckUtils]: 37: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 04:16:22,316 INFO L272 TraceCheckUtils]: 36: Hoare triple {4656#(= 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)); {4488#true} is VALID [2022-04-28 04:16:22,316 INFO L290 TraceCheckUtils]: 35: Hoare triple {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:16:22,422 INFO L290 TraceCheckUtils]: 34: Hoare triple {4693#(= (+ (* (+ 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; {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:16:22,422 INFO L290 TraceCheckUtils]: 33: Hoare triple {4693#(= (+ (* (+ 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); {4693#(= (+ (* (+ 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 04:16:22,424 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4488#true} {4693#(= (+ (* (+ 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))} #71#return; {4693#(= (+ (* (+ 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 04:16:22,424 INFO L290 TraceCheckUtils]: 31: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 04:16:22,424 INFO L290 TraceCheckUtils]: 30: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 04:16:22,424 INFO L290 TraceCheckUtils]: 29: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 04:16:22,424 INFO L272 TraceCheckUtils]: 28: Hoare triple {4693#(= (+ (* (+ 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)); {4488#true} is VALID [2022-04-28 04:16:22,425 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4488#true} {4693#(= (+ (* (+ 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))} #69#return; {4693#(= (+ (* (+ 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 04:16:22,425 INFO L290 TraceCheckUtils]: 26: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 04:16:22,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 04:16:22,425 INFO L290 TraceCheckUtils]: 24: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 04:16:22,425 INFO L272 TraceCheckUtils]: 23: Hoare triple {4693#(= (+ (* (+ 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)); {4488#true} is VALID [2022-04-28 04:16:22,426 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4488#true} {4693#(= (+ (* (+ 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))} #67#return; {4693#(= (+ (* (+ 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 04:16:22,426 INFO L290 TraceCheckUtils]: 21: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 04:16:22,426 INFO L290 TraceCheckUtils]: 20: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 04:16:22,426 INFO L290 TraceCheckUtils]: 19: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 04:16:22,426 INFO L272 TraceCheckUtils]: 18: Hoare triple {4693#(= (+ (* (+ 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)); {4488#true} is VALID [2022-04-28 04:16:22,427 INFO L290 TraceCheckUtils]: 17: Hoare triple {4693#(= (+ (* (+ 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; {4693#(= (+ (* (+ 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 04:16:22,427 INFO L290 TraceCheckUtils]: 16: Hoare triple {4488#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4693#(= (+ (* (+ 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 04:16:22,427 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4488#true} {4488#true} #65#return; {4488#true} is VALID [2022-04-28 04:16:22,427 INFO L290 TraceCheckUtils]: 14: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 04:16:22,427 INFO L290 TraceCheckUtils]: 13: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 04:16:22,427 INFO L290 TraceCheckUtils]: 12: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 04:16:22,428 INFO L272 TraceCheckUtils]: 11: Hoare triple {4488#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4488#true} is VALID [2022-04-28 04:16:22,428 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4488#true} {4488#true} #63#return; {4488#true} is VALID [2022-04-28 04:16:22,428 INFO L290 TraceCheckUtils]: 9: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 04:16:22,428 INFO L290 TraceCheckUtils]: 8: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-28 04:16:22,428 INFO L290 TraceCheckUtils]: 7: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-28 04:16:22,428 INFO L272 TraceCheckUtils]: 6: Hoare triple {4488#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4488#true} is VALID [2022-04-28 04:16:22,428 INFO L290 TraceCheckUtils]: 5: Hoare triple {4488#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4488#true} is VALID [2022-04-28 04:16:22,428 INFO L272 TraceCheckUtils]: 4: Hoare triple {4488#true} call #t~ret6 := main(); {4488#true} is VALID [2022-04-28 04:16:22,428 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4488#true} {4488#true} #81#return; {4488#true} is VALID [2022-04-28 04:16:22,428 INFO L290 TraceCheckUtils]: 2: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-28 04:16:22,428 INFO L290 TraceCheckUtils]: 1: Hoare triple {4488#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); {4488#true} is VALID [2022-04-28 04:16:22,428 INFO L272 TraceCheckUtils]: 0: Hoare triple {4488#true} call ULTIMATE.init(); {4488#true} is VALID [2022-04-28 04:16:22,429 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 04:16:22,429 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:16:22,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [232097264] [2022-04-28 04:16:22,429 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:16:22,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2138319833] [2022-04-28 04:16:22,429 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2138319833] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:16:22,429 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:16:22,429 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 6] total 11 [2022-04-28 04:16:22,429 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:16:22,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [959199316] [2022-04-28 04:16:22,430 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [959199316] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:16:22,430 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:16:22,430 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 04:16:22,430 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [704889294] [2022-04-28 04:16:22,430 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:16:22,430 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 50 [2022-04-28 04:16:22,430 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:16:22,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 04:16:22,459 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:22,459 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 04:16:22,459 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:22,460 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 04:16:22,460 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2022-04-28 04:16:22,460 INFO L87 Difference]: Start difference. First operand 109 states and 133 transitions. Second operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 04:16:23,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:23,373 INFO L93 Difference]: Finished difference Result 134 states and 173 transitions. [2022-04-28 04:16:23,373 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 04:16:23,374 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 50 [2022-04-28 04:16:23,374 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:16:23,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 04:16:23,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 70 transitions. [2022-04-28 04:16:23,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 04:16:23,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 70 transitions. [2022-04-28 04:16:23,376 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 70 transitions. [2022-04-28 04:16:23,451 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:23,453 INFO L225 Difference]: With dead ends: 134 [2022-04-28 04:16:23,453 INFO L226 Difference]: Without dead ends: 128 [2022-04-28 04:16:23,453 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 89 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 04:16:23,453 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 130 mSDsCounter, 0 mSdLazyCounter, 212 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 223 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 212 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 04:16:23,454 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 166 Invalid, 223 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 212 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 04:16:23,454 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-28 04:16:23,544 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 128. [2022-04-28 04:16:23,545 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:16:23,545 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 04:16:23,545 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 04:16:23,545 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 04:16:23,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:23,548 INFO L93 Difference]: Finished difference Result 128 states and 162 transitions. [2022-04-28 04:16:23,548 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 162 transitions. [2022-04-28 04:16:23,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:23,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:23,549 INFO L74 IsIncluded]: Start isIncluded. First operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 128 states. [2022-04-28 04:16:23,549 INFO L87 Difference]: Start difference. First operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 128 states. [2022-04-28 04:16:23,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:23,552 INFO L93 Difference]: Finished difference Result 128 states and 162 transitions. [2022-04-28 04:16:23,552 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 162 transitions. [2022-04-28 04:16:23,552 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:23,553 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:23,553 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:16:23,553 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:16:23,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 04:16:23,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 162 transitions. [2022-04-28 04:16:23,556 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 162 transitions. Word has length 50 [2022-04-28 04:16:23,556 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:16:23,556 INFO L495 AbstractCegarLoop]: Abstraction has 128 states and 162 transitions. [2022-04-28 04:16:23,556 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 04:16:23,556 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 128 states and 162 transitions. [2022-04-28 04:16:23,719 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 162 edges. 162 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:23,720 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 162 transitions. [2022-04-28 04:16:23,720 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 04:16:23,720 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:16:23,720 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:16:23,736 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-28 04:16:23,920 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 04:16:23,921 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:16:23,921 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:16:23,921 INFO L85 PathProgramCache]: Analyzing trace with hash -152607915, now seen corresponding path program 1 times [2022-04-28 04:16:23,921 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:23,921 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1947690308] [2022-04-28 04:16:23,922 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:16:23,922 INFO L85 PathProgramCache]: Analyzing trace with hash -152607915, now seen corresponding path program 2 times [2022-04-28 04:16:23,922 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:16:23,922 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [232467413] [2022-04-28 04:16:23,922 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:16:23,922 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:16:23,940 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:16:23,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2019337588] [2022-04-28 04:16:23,940 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:16:23,940 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:16:23,941 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:16:23,948 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 04:16:23,949 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 04:16:23,985 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:16:23,985 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:16:23,986 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 04:16:23,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:16:23,995 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:16:24,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {5582#true} call ULTIMATE.init(); {5582#true} is VALID [2022-04-28 04:16:24,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {5582#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); {5582#true} is VALID [2022-04-28 04:16:24,286 INFO L290 TraceCheckUtils]: 2: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,287 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5582#true} {5582#true} #81#return; {5582#true} is VALID [2022-04-28 04:16:24,287 INFO L272 TraceCheckUtils]: 4: Hoare triple {5582#true} call #t~ret6 := main(); {5582#true} is VALID [2022-04-28 04:16:24,288 INFO L290 TraceCheckUtils]: 5: Hoare triple {5582#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5582#true} is VALID [2022-04-28 04:16:24,288 INFO L272 TraceCheckUtils]: 6: Hoare triple {5582#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5582#true} is VALID [2022-04-28 04:16:24,288 INFO L290 TraceCheckUtils]: 7: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 04:16:24,288 INFO L290 TraceCheckUtils]: 8: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 04:16:24,288 INFO L290 TraceCheckUtils]: 9: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,292 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5582#true} {5582#true} #63#return; {5582#true} is VALID [2022-04-28 04:16:24,294 INFO L272 TraceCheckUtils]: 11: Hoare triple {5582#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5582#true} is VALID [2022-04-28 04:16:24,295 INFO L290 TraceCheckUtils]: 12: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 04:16:24,295 INFO L290 TraceCheckUtils]: 13: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 04:16:24,295 INFO L290 TraceCheckUtils]: 14: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,295 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5582#true} {5582#true} #65#return; {5582#true} is VALID [2022-04-28 04:16:24,295 INFO L290 TraceCheckUtils]: 16: Hoare triple {5582#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:24,296 INFO L290 TraceCheckUtils]: 17: Hoare triple {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:24,296 INFO L272 TraceCheckUtils]: 18: Hoare triple {5635#(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)); {5582#true} is VALID [2022-04-28 04:16:24,296 INFO L290 TraceCheckUtils]: 19: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 04:16:24,296 INFO L290 TraceCheckUtils]: 20: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 04:16:24,296 INFO L290 TraceCheckUtils]: 21: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,296 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5582#true} {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #67#return; {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:24,297 INFO L272 TraceCheckUtils]: 23: Hoare triple {5635#(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)); {5582#true} is VALID [2022-04-28 04:16:24,297 INFO L290 TraceCheckUtils]: 24: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 04:16:24,297 INFO L290 TraceCheckUtils]: 25: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 04:16:24,297 INFO L290 TraceCheckUtils]: 26: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,297 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5582#true} {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #69#return; {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:24,297 INFO L272 TraceCheckUtils]: 28: Hoare triple {5635#(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)); {5582#true} is VALID [2022-04-28 04:16:24,297 INFO L290 TraceCheckUtils]: 29: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 04:16:24,297 INFO L290 TraceCheckUtils]: 30: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 04:16:24,297 INFO L290 TraceCheckUtils]: 31: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,298 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5582#true} {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #71#return; {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:24,298 INFO L290 TraceCheckUtils]: 33: Hoare triple {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:24,299 INFO L290 TraceCheckUtils]: 34: Hoare triple {5635#(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; {5690#(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 04:16:24,299 INFO L290 TraceCheckUtils]: 35: Hoare triple {5690#(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; {5690#(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 04:16:24,299 INFO L272 TraceCheckUtils]: 36: Hoare triple {5690#(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)); {5582#true} is VALID [2022-04-28 04:16:24,299 INFO L290 TraceCheckUtils]: 37: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 04:16:24,299 INFO L290 TraceCheckUtils]: 38: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 04:16:24,299 INFO L290 TraceCheckUtils]: 39: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,300 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5582#true} {5690#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #67#return; {5690#(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 04:16:24,300 INFO L272 TraceCheckUtils]: 41: Hoare triple {5690#(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)); {5582#true} is VALID [2022-04-28 04:16:24,300 INFO L290 TraceCheckUtils]: 42: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 04:16:24,300 INFO L290 TraceCheckUtils]: 43: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 04:16:24,300 INFO L290 TraceCheckUtils]: 44: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,300 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5582#true} {5690#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #69#return; {5690#(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 04:16:24,301 INFO L272 TraceCheckUtils]: 46: Hoare triple {5690#(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)); {5582#true} is VALID [2022-04-28 04:16:24,301 INFO L290 TraceCheckUtils]: 47: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 04:16:24,301 INFO L290 TraceCheckUtils]: 48: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 04:16:24,301 INFO L290 TraceCheckUtils]: 49: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,301 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5582#true} {5690#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #71#return; {5690#(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 04:16:24,302 INFO L290 TraceCheckUtils]: 51: Hoare triple {5690#(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); {5690#(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 04:16:24,302 INFO L290 TraceCheckUtils]: 52: Hoare triple {5690#(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; {5745#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (- 1) main_~r~0))} is VALID [2022-04-28 04:16:24,302 INFO L290 TraceCheckUtils]: 53: Hoare triple {5745#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (- 1) main_~r~0))} assume !false; {5745#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (- 1) main_~r~0))} is VALID [2022-04-28 04:16:24,303 INFO L272 TraceCheckUtils]: 54: Hoare triple {5745#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5752#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:16:24,303 INFO L290 TraceCheckUtils]: 55: Hoare triple {5752#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5756#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:24,303 INFO L290 TraceCheckUtils]: 56: Hoare triple {5756#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5583#false} is VALID [2022-04-28 04:16:24,304 INFO L290 TraceCheckUtils]: 57: Hoare triple {5583#false} assume !false; {5583#false} is VALID [2022-04-28 04:16:24,304 INFO L134 CoverageAnalysis]: Checked inductivity of 86 backedges. 12 proven. 10 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 04:16:24,304 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:16:24,512 INFO L290 TraceCheckUtils]: 57: Hoare triple {5583#false} assume !false; {5583#false} is VALID [2022-04-28 04:16:24,512 INFO L290 TraceCheckUtils]: 56: Hoare triple {5756#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5583#false} is VALID [2022-04-28 04:16:24,513 INFO L290 TraceCheckUtils]: 55: Hoare triple {5752#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5756#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:24,513 INFO L272 TraceCheckUtils]: 54: Hoare triple {5772#(= (* 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)); {5752#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:16:24,514 INFO L290 TraceCheckUtils]: 53: Hoare triple {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 04:16:24,517 INFO L290 TraceCheckUtils]: 52: Hoare triple {5772#(= (* 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; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 04:16:24,517 INFO L290 TraceCheckUtils]: 51: Hoare triple {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 04:16:24,518 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #71#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 04:16:24,518 INFO L290 TraceCheckUtils]: 49: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,518 INFO L290 TraceCheckUtils]: 48: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 04:16:24,518 INFO L290 TraceCheckUtils]: 47: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 04:16:24,518 INFO L272 TraceCheckUtils]: 46: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-28 04:16:24,518 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #69#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 04:16:24,519 INFO L290 TraceCheckUtils]: 44: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,519 INFO L290 TraceCheckUtils]: 43: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 04:16:24,519 INFO L290 TraceCheckUtils]: 42: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 04:16:24,519 INFO L272 TraceCheckUtils]: 41: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-28 04:16:24,519 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #67#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 04:16:24,519 INFO L290 TraceCheckUtils]: 39: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,519 INFO L290 TraceCheckUtils]: 38: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 04:16:24,519 INFO L290 TraceCheckUtils]: 37: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 04:16:24,520 INFO L272 TraceCheckUtils]: 36: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-28 04:16:24,520 INFO L290 TraceCheckUtils]: 35: Hoare triple {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 04:16:24,522 INFO L290 TraceCheckUtils]: 34: Hoare triple {5772#(= (* 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; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 04:16:24,522 INFO L290 TraceCheckUtils]: 33: Hoare triple {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 04:16:24,523 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #71#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 04:16:24,523 INFO L290 TraceCheckUtils]: 31: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,523 INFO L290 TraceCheckUtils]: 30: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 04:16:24,523 INFO L290 TraceCheckUtils]: 29: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 04:16:24,523 INFO L272 TraceCheckUtils]: 28: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-28 04:16:24,524 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #69#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 04:16:24,524 INFO L290 TraceCheckUtils]: 26: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,524 INFO L290 TraceCheckUtils]: 25: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 04:16:24,524 INFO L290 TraceCheckUtils]: 24: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 04:16:24,524 INFO L272 TraceCheckUtils]: 23: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-28 04:16:24,524 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #67#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 04:16:24,524 INFO L290 TraceCheckUtils]: 21: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,525 INFO L290 TraceCheckUtils]: 20: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 04:16:24,525 INFO L290 TraceCheckUtils]: 19: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 04:16:24,525 INFO L272 TraceCheckUtils]: 18: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-28 04:16:24,525 INFO L290 TraceCheckUtils]: 17: Hoare triple {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 04:16:24,525 INFO L290 TraceCheckUtils]: 16: Hoare triple {5582#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-28 04:16:24,525 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5582#true} {5582#true} #65#return; {5582#true} is VALID [2022-04-28 04:16:24,526 INFO L290 TraceCheckUtils]: 14: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,526 INFO L290 TraceCheckUtils]: 13: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 04:16:24,526 INFO L290 TraceCheckUtils]: 12: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 04:16:24,526 INFO L272 TraceCheckUtils]: 11: Hoare triple {5582#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5582#true} is VALID [2022-04-28 04:16:24,526 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5582#true} {5582#true} #63#return; {5582#true} is VALID [2022-04-28 04:16:24,526 INFO L290 TraceCheckUtils]: 9: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,526 INFO L290 TraceCheckUtils]: 8: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-28 04:16:24,526 INFO L290 TraceCheckUtils]: 7: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-28 04:16:24,526 INFO L272 TraceCheckUtils]: 6: Hoare triple {5582#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5582#true} is VALID [2022-04-28 04:16:24,526 INFO L290 TraceCheckUtils]: 5: Hoare triple {5582#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5582#true} is VALID [2022-04-28 04:16:24,526 INFO L272 TraceCheckUtils]: 4: Hoare triple {5582#true} call #t~ret6 := main(); {5582#true} is VALID [2022-04-28 04:16:24,526 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5582#true} {5582#true} #81#return; {5582#true} is VALID [2022-04-28 04:16:24,526 INFO L290 TraceCheckUtils]: 2: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-28 04:16:24,526 INFO L290 TraceCheckUtils]: 1: Hoare triple {5582#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); {5582#true} is VALID [2022-04-28 04:16:24,527 INFO L272 TraceCheckUtils]: 0: Hoare triple {5582#true} call ULTIMATE.init(); {5582#true} is VALID [2022-04-28 04:16:24,527 INFO L134 CoverageAnalysis]: Checked inductivity of 86 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 74 trivial. 0 not checked. [2022-04-28 04:16:24,527 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:16:24,527 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [232467413] [2022-04-28 04:16:24,527 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:16:24,527 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2019337588] [2022-04-28 04:16:24,527 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2019337588] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 04:16:24,527 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 04:16:24,527 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-28 04:16:24,528 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:16:24,528 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1947690308] [2022-04-28 04:16:24,528 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1947690308] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:16:24,528 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:16:24,528 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 04:16:24,528 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [617200685] [2022-04-28 04:16:24,528 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:16:24,528 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 58 [2022-04-28 04:16:24,528 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:16:24,528 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 04:16:24,551 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 04:16:24,551 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 04:16:24,551 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:24,551 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 04:16:24,552 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 04:16:24,552 INFO L87 Difference]: Start difference. First operand 128 states and 162 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 04:16:24,779 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:24,779 INFO L93 Difference]: Finished difference Result 134 states and 167 transitions. [2022-04-28 04:16:24,779 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 04:16:24,779 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 58 [2022-04-28 04:16:24,779 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:16:24,779 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 04:16:24,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-28 04:16:24,780 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 04:16:24,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-28 04:16:24,781 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2022-04-28 04:16:24,822 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 04:16:24,824 INFO L225 Difference]: With dead ends: 134 [2022-04-28 04:16:24,824 INFO L226 Difference]: Without dead ends: 129 [2022-04-28 04:16:24,824 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 106 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 04:16:24,825 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 6 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 96 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 04:16:24,825 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 96 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 04:16:24,825 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-28 04:16:24,925 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 129. [2022-04-28 04:16:24,925 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:16:24,925 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 04:16:24,925 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 04:16:24,926 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 04:16:24,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:24,929 INFO L93 Difference]: Finished difference Result 129 states and 159 transitions. [2022-04-28 04:16:24,929 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 159 transitions. [2022-04-28 04:16:24,929 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:24,929 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:24,930 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) Second operand 129 states. [2022-04-28 04:16:24,930 INFO L87 Difference]: Start difference. First operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) Second operand 129 states. [2022-04-28 04:16:24,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:24,932 INFO L93 Difference]: Finished difference Result 129 states and 159 transitions. [2022-04-28 04:16:24,932 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 159 transitions. [2022-04-28 04:16:24,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:24,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:24,932 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:16:24,933 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:16:24,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 04:16:24,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 159 transitions. [2022-04-28 04:16:24,935 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 159 transitions. Word has length 58 [2022-04-28 04:16:24,935 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:16:24,935 INFO L495 AbstractCegarLoop]: Abstraction has 129 states and 159 transitions. [2022-04-28 04:16:24,935 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 04:16:24,935 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 159 transitions. [2022-04-28 04:16:25,121 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 159 edges. 159 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:25,121 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 159 transitions. [2022-04-28 04:16:25,121 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-28 04:16:25,122 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:16:25,122 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:16:25,138 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 04:16:25,322 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 04:16:25,322 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:16:25,323 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:16:25,323 INFO L85 PathProgramCache]: Analyzing trace with hash -1386725923, now seen corresponding path program 5 times [2022-04-28 04:16:25,323 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:25,323 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1744310946] [2022-04-28 04:16:25,323 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:16:25,323 INFO L85 PathProgramCache]: Analyzing trace with hash -1386725923, now seen corresponding path program 6 times [2022-04-28 04:16:25,323 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:16:25,323 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1060466976] [2022-04-28 04:16:25,324 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:16:25,324 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:16:25,334 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:16:25,334 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1898731235] [2022-04-28 04:16:25,334 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:16:25,334 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:16:25,334 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:16:25,335 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 04:16:25,349 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 04:16:25,397 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 04:16:25,397 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:16:25,398 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 04:16:25,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:16:25,412 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:16:25,901 INFO L272 TraceCheckUtils]: 0: Hoare triple {6723#true} call ULTIMATE.init(); {6723#true} is VALID [2022-04-28 04:16:25,901 INFO L290 TraceCheckUtils]: 1: Hoare triple {6723#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); {6723#true} is VALID [2022-04-28 04:16:25,901 INFO L290 TraceCheckUtils]: 2: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:25,901 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6723#true} {6723#true} #81#return; {6723#true} is VALID [2022-04-28 04:16:25,902 INFO L272 TraceCheckUtils]: 4: Hoare triple {6723#true} call #t~ret6 := main(); {6723#true} is VALID [2022-04-28 04:16:25,902 INFO L290 TraceCheckUtils]: 5: Hoare triple {6723#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6723#true} is VALID [2022-04-28 04:16:25,902 INFO L272 TraceCheckUtils]: 6: Hoare triple {6723#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6723#true} is VALID [2022-04-28 04:16:25,902 INFO L290 TraceCheckUtils]: 7: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:25,902 INFO L290 TraceCheckUtils]: 8: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:25,902 INFO L290 TraceCheckUtils]: 9: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:25,902 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6723#true} {6723#true} #63#return; {6723#true} is VALID [2022-04-28 04:16:25,902 INFO L272 TraceCheckUtils]: 11: Hoare triple {6723#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6723#true} is VALID [2022-04-28 04:16:25,902 INFO L290 TraceCheckUtils]: 12: Hoare triple {6723#true} ~cond := #in~cond; {6764#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:16:25,903 INFO L290 TraceCheckUtils]: 13: Hoare triple {6764#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6768#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:16:25,903 INFO L290 TraceCheckUtils]: 14: Hoare triple {6768#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6768#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:16:25,903 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6768#(not (= |assume_abort_if_not_#in~cond| 0))} {6723#true} #65#return; {6775#(<= 1 main_~y~0)} is VALID [2022-04-28 04:16:25,904 INFO L290 TraceCheckUtils]: 16: Hoare triple {6775#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6779#(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 04:16:25,904 INFO L290 TraceCheckUtils]: 17: Hoare triple {6779#(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; {6779#(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 04:16:25,904 INFO L272 TraceCheckUtils]: 18: Hoare triple {6779#(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)); {6723#true} is VALID [2022-04-28 04:16:25,904 INFO L290 TraceCheckUtils]: 19: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:25,904 INFO L290 TraceCheckUtils]: 20: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:25,904 INFO L290 TraceCheckUtils]: 21: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:25,905 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6723#true} {6779#(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))} #67#return; {6779#(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 04:16:25,905 INFO L272 TraceCheckUtils]: 23: Hoare triple {6779#(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)); {6723#true} is VALID [2022-04-28 04:16:25,905 INFO L290 TraceCheckUtils]: 24: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:25,905 INFO L290 TraceCheckUtils]: 25: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:25,905 INFO L290 TraceCheckUtils]: 26: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:25,906 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6723#true} {6779#(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))} #69#return; {6779#(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 04:16:25,906 INFO L272 TraceCheckUtils]: 28: Hoare triple {6779#(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)); {6723#true} is VALID [2022-04-28 04:16:25,906 INFO L290 TraceCheckUtils]: 29: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:25,906 INFO L290 TraceCheckUtils]: 30: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:25,906 INFO L290 TraceCheckUtils]: 31: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:25,907 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6723#true} {6779#(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))} #71#return; {6779#(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 04:16:25,907 INFO L290 TraceCheckUtils]: 33: Hoare triple {6779#(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); {6779#(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 04:16:25,908 INFO L290 TraceCheckUtils]: 34: Hoare triple {6779#(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; {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:16:25,908 INFO L290 TraceCheckUtils]: 35: Hoare triple {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:16:25,908 INFO L272 TraceCheckUtils]: 36: Hoare triple {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6723#true} is VALID [2022-04-28 04:16:25,908 INFO L290 TraceCheckUtils]: 37: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:25,908 INFO L290 TraceCheckUtils]: 38: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:25,908 INFO L290 TraceCheckUtils]: 39: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:25,909 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6723#true} {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #67#return; {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:16:25,909 INFO L272 TraceCheckUtils]: 41: Hoare triple {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6723#true} is VALID [2022-04-28 04:16:25,909 INFO L290 TraceCheckUtils]: 42: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:25,909 INFO L290 TraceCheckUtils]: 43: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:25,909 INFO L290 TraceCheckUtils]: 44: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:25,910 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6723#true} {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #69#return; {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:16:25,910 INFO L272 TraceCheckUtils]: 46: Hoare triple {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6723#true} is VALID [2022-04-28 04:16:25,910 INFO L290 TraceCheckUtils]: 47: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:25,910 INFO L290 TraceCheckUtils]: 48: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:25,910 INFO L290 TraceCheckUtils]: 49: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:25,911 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6723#true} {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #71#return; {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:16:25,911 INFO L290 TraceCheckUtils]: 51: Hoare triple {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:16:25,912 INFO L290 TraceCheckUtils]: 52: Hoare triple {6834#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:25,912 INFO L290 TraceCheckUtils]: 53: Hoare triple {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !false; {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:25,912 INFO L272 TraceCheckUtils]: 54: Hoare triple {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~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)); {6723#true} is VALID [2022-04-28 04:16:25,913 INFO L290 TraceCheckUtils]: 55: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:25,913 INFO L290 TraceCheckUtils]: 56: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:25,913 INFO L290 TraceCheckUtils]: 57: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:25,913 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {6723#true} {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} #67#return; {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:25,914 INFO L272 TraceCheckUtils]: 59: Hoare triple {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~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)); {6911#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:16:25,914 INFO L290 TraceCheckUtils]: 60: Hoare triple {6911#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6915#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:25,914 INFO L290 TraceCheckUtils]: 61: Hoare triple {6915#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6724#false} is VALID [2022-04-28 04:16:25,915 INFO L290 TraceCheckUtils]: 62: Hoare triple {6724#false} assume !false; {6724#false} is VALID [2022-04-28 04:16:25,915 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 17 proven. 12 refuted. 0 times theorem prover too weak. 85 trivial. 0 not checked. [2022-04-28 04:16:25,915 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:16:26,193 INFO L290 TraceCheckUtils]: 62: Hoare triple {6724#false} assume !false; {6724#false} is VALID [2022-04-28 04:16:26,194 INFO L290 TraceCheckUtils]: 61: Hoare triple {6915#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6724#false} is VALID [2022-04-28 04:16:26,194 INFO L290 TraceCheckUtils]: 60: Hoare triple {6911#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6915#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:26,195 INFO L272 TraceCheckUtils]: 59: Hoare triple {6931#(= 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)); {6911#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:16:26,195 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {6723#true} {6931#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {6931#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:16:26,195 INFO L290 TraceCheckUtils]: 57: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:26,195 INFO L290 TraceCheckUtils]: 56: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:26,195 INFO L290 TraceCheckUtils]: 55: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:26,195 INFO L272 TraceCheckUtils]: 54: Hoare triple {6931#(= 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)); {6723#true} is VALID [2022-04-28 04:16:26,196 INFO L290 TraceCheckUtils]: 53: Hoare triple {6931#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {6931#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:16:26,907 INFO L290 TraceCheckUtils]: 52: Hoare triple {6953#(= (+ main_~a~0 (* (- 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; {6931#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:16:26,908 INFO L290 TraceCheckUtils]: 51: Hoare triple {6953#(= (+ main_~a~0 (* (- 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); {6953#(= (+ main_~a~0 (* (- 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 04:16:26,908 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6723#true} {6953#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #71#return; {6953#(= (+ main_~a~0 (* (- 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 04:16:26,908 INFO L290 TraceCheckUtils]: 49: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:26,908 INFO L290 TraceCheckUtils]: 48: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:26,909 INFO L290 TraceCheckUtils]: 47: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:26,909 INFO L272 TraceCheckUtils]: 46: Hoare triple {6953#(= (+ main_~a~0 (* (- 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)); {6723#true} is VALID [2022-04-28 04:16:26,909 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6723#true} {6953#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #69#return; {6953#(= (+ main_~a~0 (* (- 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 04:16:26,909 INFO L290 TraceCheckUtils]: 44: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:26,909 INFO L290 TraceCheckUtils]: 43: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:26,909 INFO L290 TraceCheckUtils]: 42: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:26,910 INFO L272 TraceCheckUtils]: 41: Hoare triple {6953#(= (+ main_~a~0 (* (- 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)); {6723#true} is VALID [2022-04-28 04:16:26,910 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6723#true} {6953#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #67#return; {6953#(= (+ main_~a~0 (* (- 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 04:16:26,910 INFO L290 TraceCheckUtils]: 39: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:26,910 INFO L290 TraceCheckUtils]: 38: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:26,910 INFO L290 TraceCheckUtils]: 37: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:26,910 INFO L272 TraceCheckUtils]: 36: Hoare triple {6953#(= (+ main_~a~0 (* (- 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)); {6723#true} is VALID [2022-04-28 04:16:26,918 INFO L290 TraceCheckUtils]: 35: Hoare triple {6953#(= (+ main_~a~0 (* (- 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; {6953#(= (+ main_~a~0 (* (- 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 04:16:26,970 INFO L290 TraceCheckUtils]: 34: Hoare triple {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6953#(= (+ main_~a~0 (* (- 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 04:16:26,970 INFO L290 TraceCheckUtils]: 33: Hoare triple {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !!(~a~0 != ~b~0); {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 04:16:26,971 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6723#true} {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #71#return; {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 04:16:26,971 INFO L290 TraceCheckUtils]: 31: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:26,971 INFO L290 TraceCheckUtils]: 30: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:26,971 INFO L290 TraceCheckUtils]: 29: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:26,971 INFO L272 TraceCheckUtils]: 28: Hoare triple {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6723#true} is VALID [2022-04-28 04:16:26,972 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6723#true} {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #69#return; {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 04:16:26,972 INFO L290 TraceCheckUtils]: 26: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:26,972 INFO L290 TraceCheckUtils]: 25: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:26,972 INFO L290 TraceCheckUtils]: 24: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:26,972 INFO L272 TraceCheckUtils]: 23: Hoare triple {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6723#true} is VALID [2022-04-28 04:16:26,973 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6723#true} {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #67#return; {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 04:16:26,974 INFO L290 TraceCheckUtils]: 21: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:26,974 INFO L290 TraceCheckUtils]: 20: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:26,974 INFO L290 TraceCheckUtils]: 19: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:26,974 INFO L272 TraceCheckUtils]: 18: Hoare triple {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6723#true} is VALID [2022-04-28 04:16:26,974 INFO L290 TraceCheckUtils]: 17: Hoare triple {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !false; {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 04:16:26,974 INFO L290 TraceCheckUtils]: 16: Hoare triple {6723#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7008#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 04:16:26,975 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6723#true} {6723#true} #65#return; {6723#true} is VALID [2022-04-28 04:16:26,975 INFO L290 TraceCheckUtils]: 14: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:26,975 INFO L290 TraceCheckUtils]: 13: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:26,975 INFO L290 TraceCheckUtils]: 12: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:26,975 INFO L272 TraceCheckUtils]: 11: Hoare triple {6723#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6723#true} is VALID [2022-04-28 04:16:26,975 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6723#true} {6723#true} #63#return; {6723#true} is VALID [2022-04-28 04:16:26,975 INFO L290 TraceCheckUtils]: 9: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:26,975 INFO L290 TraceCheckUtils]: 8: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-28 04:16:26,975 INFO L290 TraceCheckUtils]: 7: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-28 04:16:26,975 INFO L272 TraceCheckUtils]: 6: Hoare triple {6723#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6723#true} is VALID [2022-04-28 04:16:26,975 INFO L290 TraceCheckUtils]: 5: Hoare triple {6723#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6723#true} is VALID [2022-04-28 04:16:26,975 INFO L272 TraceCheckUtils]: 4: Hoare triple {6723#true} call #t~ret6 := main(); {6723#true} is VALID [2022-04-28 04:16:26,975 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6723#true} {6723#true} #81#return; {6723#true} is VALID [2022-04-28 04:16:26,975 INFO L290 TraceCheckUtils]: 2: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-28 04:16:26,976 INFO L290 TraceCheckUtils]: 1: Hoare triple {6723#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); {6723#true} is VALID [2022-04-28 04:16:26,976 INFO L272 TraceCheckUtils]: 0: Hoare triple {6723#true} call ULTIMATE.init(); {6723#true} is VALID [2022-04-28 04:16:26,976 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 14 proven. 12 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 04:16:26,976 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:16:26,976 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1060466976] [2022-04-28 04:16:26,976 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:16:26,976 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1898731235] [2022-04-28 04:16:26,976 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1898731235] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:16:26,976 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:16:26,976 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 7] total 13 [2022-04-28 04:16:26,977 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:16:26,977 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1744310946] [2022-04-28 04:16:26,977 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1744310946] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:16:26,977 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:16:26,977 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 04:16:26,977 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1727615798] [2022-04-28 04:16:26,977 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:16:26,977 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) Word has length 63 [2022-04-28 04:16:26,977 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:16:26,978 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 04:16:27,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:27,011 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 04:16:27,011 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:27,012 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 04:16:27,012 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-28 04:16:27,012 INFO L87 Difference]: Start difference. First operand 129 states and 159 transitions. Second operand has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 04:16:28,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:28,145 INFO L93 Difference]: Finished difference Result 163 states and 201 transitions. [2022-04-28 04:16:28,145 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 04:16:28,146 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) Word has length 63 [2022-04-28 04:16:28,146 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:16:28,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 04:16:28,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-28 04:16:28,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 04:16:28,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-28 04:16:28,154 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 80 transitions. [2022-04-28 04:16:28,229 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:28,232 INFO L225 Difference]: With dead ends: 163 [2022-04-28 04:16:28,232 INFO L226 Difference]: Without dead ends: 161 [2022-04-28 04:16:28,232 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=169, Unknown=0, NotChecked=0, Total=210 [2022-04-28 04:16:28,233 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 20 mSDsluCounter, 129 mSDsCounter, 0 mSdLazyCounter, 270 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 292 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 270 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 04:16:28,233 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 174 Invalid, 292 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 270 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 04:16:28,233 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-28 04:16:28,342 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 147. [2022-04-28 04:16:28,342 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:16:28,342 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 04:16:28,343 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 04:16:28,343 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 04:16:28,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:28,346 INFO L93 Difference]: Finished difference Result 161 states and 199 transitions. [2022-04-28 04:16:28,346 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 199 transitions. [2022-04-28 04:16:28,346 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:28,346 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:28,347 INFO L74 IsIncluded]: Start isIncluded. First operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) Second operand 161 states. [2022-04-28 04:16:28,347 INFO L87 Difference]: Start difference. First operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) Second operand 161 states. [2022-04-28 04:16:28,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:28,349 INFO L93 Difference]: Finished difference Result 161 states and 199 transitions. [2022-04-28 04:16:28,350 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 199 transitions. [2022-04-28 04:16:28,350 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:28,350 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:28,350 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:16:28,350 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:16:28,350 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 04:16:28,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 147 states to 147 states and 178 transitions. [2022-04-28 04:16:28,353 INFO L78 Accepts]: Start accepts. Automaton has 147 states and 178 transitions. Word has length 63 [2022-04-28 04:16:28,353 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:16:28,353 INFO L495 AbstractCegarLoop]: Abstraction has 147 states and 178 transitions. [2022-04-28 04:16:28,353 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 04:16:28,353 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 147 states and 178 transitions. [2022-04-28 04:16:28,580 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 178 edges. 178 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:28,581 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 178 transitions. [2022-04-28 04:16:28,581 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-28 04:16:28,581 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:16:28,582 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:16:28,598 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 04:16:28,782 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 04:16:28,782 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:16:28,782 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:16:28,782 INFO L85 PathProgramCache]: Analyzing trace with hash -522529, now seen corresponding path program 3 times [2022-04-28 04:16:28,783 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:28,783 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [639786337] [2022-04-28 04:16:28,783 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:16:28,783 INFO L85 PathProgramCache]: Analyzing trace with hash -522529, now seen corresponding path program 4 times [2022-04-28 04:16:28,783 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:16:28,783 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1438167202] [2022-04-28 04:16:28,783 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:16:28,783 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:16:28,797 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:16:28,797 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [449042986] [2022-04-28 04:16:28,797 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:16:28,798 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:16:28,798 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:16:28,799 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 04:16:28,800 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 04:16:28,839 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:16:28,840 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:16:28,840 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 04:16:28,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:16:28,852 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:16:29,271 INFO L272 TraceCheckUtils]: 0: Hoare triple {8059#true} call ULTIMATE.init(); {8059#true} is VALID [2022-04-28 04:16:29,272 INFO L290 TraceCheckUtils]: 1: Hoare triple {8059#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); {8059#true} is VALID [2022-04-28 04:16:29,272 INFO L290 TraceCheckUtils]: 2: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:29,272 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8059#true} {8059#true} #81#return; {8059#true} is VALID [2022-04-28 04:16:29,272 INFO L272 TraceCheckUtils]: 4: Hoare triple {8059#true} call #t~ret6 := main(); {8059#true} is VALID [2022-04-28 04:16:29,272 INFO L290 TraceCheckUtils]: 5: Hoare triple {8059#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8059#true} is VALID [2022-04-28 04:16:29,272 INFO L272 TraceCheckUtils]: 6: Hoare triple {8059#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8059#true} is VALID [2022-04-28 04:16:29,272 INFO L290 TraceCheckUtils]: 7: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:29,272 INFO L290 TraceCheckUtils]: 8: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:29,272 INFO L290 TraceCheckUtils]: 9: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:29,272 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8059#true} {8059#true} #63#return; {8059#true} is VALID [2022-04-28 04:16:29,273 INFO L272 TraceCheckUtils]: 11: Hoare triple {8059#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8059#true} is VALID [2022-04-28 04:16:29,273 INFO L290 TraceCheckUtils]: 12: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:29,273 INFO L290 TraceCheckUtils]: 13: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:29,273 INFO L290 TraceCheckUtils]: 14: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:29,273 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8059#true} {8059#true} #65#return; {8059#true} is VALID [2022-04-28 04:16:29,279 INFO L290 TraceCheckUtils]: 16: Hoare triple {8059#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8112#(and (= 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 04:16:29,280 INFO L290 TraceCheckUtils]: 17: Hoare triple {8112#(and (= 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; {8112#(and (= 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 04:16:29,280 INFO L272 TraceCheckUtils]: 18: Hoare triple {8112#(and (= 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)); {8059#true} is VALID [2022-04-28 04:16:29,280 INFO L290 TraceCheckUtils]: 19: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:29,280 INFO L290 TraceCheckUtils]: 20: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:29,280 INFO L290 TraceCheckUtils]: 21: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:29,281 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8059#true} {8112#(and (= 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))} #67#return; {8112#(and (= 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 04:16:29,281 INFO L272 TraceCheckUtils]: 23: Hoare triple {8112#(and (= 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)); {8059#true} is VALID [2022-04-28 04:16:29,281 INFO L290 TraceCheckUtils]: 24: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:29,281 INFO L290 TraceCheckUtils]: 25: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:29,281 INFO L290 TraceCheckUtils]: 26: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:29,282 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {8059#true} {8112#(and (= 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))} #69#return; {8112#(and (= 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 04:16:29,282 INFO L272 TraceCheckUtils]: 28: Hoare triple {8112#(and (= 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)); {8059#true} is VALID [2022-04-28 04:16:29,282 INFO L290 TraceCheckUtils]: 29: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:29,282 INFO L290 TraceCheckUtils]: 30: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:29,282 INFO L290 TraceCheckUtils]: 31: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:29,283 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8059#true} {8112#(and (= 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))} #71#return; {8112#(and (= 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 04:16:29,283 INFO L290 TraceCheckUtils]: 33: Hoare triple {8112#(and (= 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); {8112#(and (= 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 04:16:29,284 INFO L290 TraceCheckUtils]: 34: Hoare triple {8112#(and (= 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; {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:29,284 INFO L290 TraceCheckUtils]: 35: Hoare triple {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:29,284 INFO L272 TraceCheckUtils]: 36: Hoare triple {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8059#true} is VALID [2022-04-28 04:16:29,284 INFO L290 TraceCheckUtils]: 37: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:29,284 INFO L290 TraceCheckUtils]: 38: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:29,285 INFO L290 TraceCheckUtils]: 39: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:29,285 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8059#true} {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #67#return; {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:29,285 INFO L272 TraceCheckUtils]: 41: Hoare triple {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8059#true} is VALID [2022-04-28 04:16:29,285 INFO L290 TraceCheckUtils]: 42: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:29,286 INFO L290 TraceCheckUtils]: 43: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:29,286 INFO L290 TraceCheckUtils]: 44: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:29,289 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8059#true} {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #69#return; {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:29,289 INFO L272 TraceCheckUtils]: 46: Hoare triple {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8059#true} is VALID [2022-04-28 04:16:29,293 INFO L290 TraceCheckUtils]: 47: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:29,293 INFO L290 TraceCheckUtils]: 48: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:29,293 INFO L290 TraceCheckUtils]: 49: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:29,294 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8059#true} {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #71#return; {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:29,295 INFO L290 TraceCheckUtils]: 51: Hoare triple {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:29,295 INFO L290 TraceCheckUtils]: 52: Hoare triple {8167#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-28 04:16:29,296 INFO L290 TraceCheckUtils]: 53: Hoare triple {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} assume !false; {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-28 04:16:29,296 INFO L272 TraceCheckUtils]: 54: Hoare triple {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8059#true} is VALID [2022-04-28 04:16:29,296 INFO L290 TraceCheckUtils]: 55: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:29,296 INFO L290 TraceCheckUtils]: 56: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:29,296 INFO L290 TraceCheckUtils]: 57: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:29,297 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {8059#true} {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} #67#return; {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-28 04:16:29,297 INFO L272 TraceCheckUtils]: 59: Hoare triple {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8244#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:16:29,298 INFO L290 TraceCheckUtils]: 60: Hoare triple {8244#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8248#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:29,298 INFO L290 TraceCheckUtils]: 61: Hoare triple {8248#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8060#false} is VALID [2022-04-28 04:16:29,298 INFO L290 TraceCheckUtils]: 62: Hoare triple {8060#false} assume !false; {8060#false} is VALID [2022-04-28 04:16:29,299 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 14 proven. 12 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 04:16:29,299 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:16:29,519 INFO L290 TraceCheckUtils]: 62: Hoare triple {8060#false} assume !false; {8060#false} is VALID [2022-04-28 04:16:29,525 INFO L290 TraceCheckUtils]: 61: Hoare triple {8248#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8060#false} is VALID [2022-04-28 04:16:29,525 INFO L290 TraceCheckUtils]: 60: Hoare triple {8244#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8248#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:29,526 INFO L272 TraceCheckUtils]: 59: Hoare triple {8264#(= 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)); {8244#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:16:29,527 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {8059#true} {8264#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {8264#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:16:29,527 INFO L290 TraceCheckUtils]: 57: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:29,527 INFO L290 TraceCheckUtils]: 56: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:29,527 INFO L290 TraceCheckUtils]: 55: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:29,527 INFO L272 TraceCheckUtils]: 54: Hoare triple {8264#(= 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)); {8059#true} is VALID [2022-04-28 04:16:29,527 INFO L290 TraceCheckUtils]: 53: Hoare triple {8264#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {8264#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:16:30,119 INFO L290 TraceCheckUtils]: 52: Hoare triple {8286#(= (+ main_~a~0 (* (- 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; {8264#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:16:30,120 INFO L290 TraceCheckUtils]: 51: Hoare triple {8286#(= (+ main_~a~0 (* (- 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); {8286#(= (+ main_~a~0 (* (- 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 04:16:30,120 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8059#true} {8286#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #71#return; {8286#(= (+ main_~a~0 (* (- 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 04:16:30,120 INFO L290 TraceCheckUtils]: 49: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:30,121 INFO L290 TraceCheckUtils]: 48: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:30,121 INFO L290 TraceCheckUtils]: 47: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:30,121 INFO L272 TraceCheckUtils]: 46: Hoare triple {8286#(= (+ main_~a~0 (* (- 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)); {8059#true} is VALID [2022-04-28 04:16:30,121 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8059#true} {8286#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #69#return; {8286#(= (+ main_~a~0 (* (- 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 04:16:30,122 INFO L290 TraceCheckUtils]: 44: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:30,122 INFO L290 TraceCheckUtils]: 43: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:30,122 INFO L290 TraceCheckUtils]: 42: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:30,122 INFO L272 TraceCheckUtils]: 41: Hoare triple {8286#(= (+ main_~a~0 (* (- 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)); {8059#true} is VALID [2022-04-28 04:16:30,122 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8059#true} {8286#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #67#return; {8286#(= (+ main_~a~0 (* (- 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 04:16:30,122 INFO L290 TraceCheckUtils]: 39: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:30,123 INFO L290 TraceCheckUtils]: 38: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:30,123 INFO L290 TraceCheckUtils]: 37: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:30,123 INFO L272 TraceCheckUtils]: 36: Hoare triple {8286#(= (+ main_~a~0 (* (- 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)); {8059#true} is VALID [2022-04-28 04:16:30,123 INFO L290 TraceCheckUtils]: 35: Hoare triple {8286#(= (+ main_~a~0 (* (- 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; {8286#(= (+ main_~a~0 (* (- 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 04:16:30,249 INFO L290 TraceCheckUtils]: 34: Hoare triple {8341#(= (+ (* (+ (* 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; {8286#(= (+ main_~a~0 (* (- 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 04:16:30,250 INFO L290 TraceCheckUtils]: 33: Hoare triple {8341#(= (+ (* (+ (* 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); {8341#(= (+ (* (+ (* 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 04:16:30,251 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8059#true} {8341#(= (+ (* (+ (* 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)))} #71#return; {8341#(= (+ (* (+ (* 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 04:16:30,251 INFO L290 TraceCheckUtils]: 31: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:30,251 INFO L290 TraceCheckUtils]: 30: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:30,251 INFO L290 TraceCheckUtils]: 29: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:30,251 INFO L272 TraceCheckUtils]: 28: Hoare triple {8341#(= (+ (* (+ (* 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)); {8059#true} is VALID [2022-04-28 04:16:30,252 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {8059#true} {8341#(= (+ (* (+ (* 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)))} #69#return; {8341#(= (+ (* (+ (* 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 04:16:30,252 INFO L290 TraceCheckUtils]: 26: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:30,252 INFO L290 TraceCheckUtils]: 25: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:30,252 INFO L290 TraceCheckUtils]: 24: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:30,252 INFO L272 TraceCheckUtils]: 23: Hoare triple {8341#(= (+ (* (+ (* 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)); {8059#true} is VALID [2022-04-28 04:16:30,252 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8059#true} {8341#(= (+ (* (+ (* 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)))} #67#return; {8341#(= (+ (* (+ (* 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 04:16:30,253 INFO L290 TraceCheckUtils]: 21: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:30,253 INFO L290 TraceCheckUtils]: 20: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:30,253 INFO L290 TraceCheckUtils]: 19: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:30,253 INFO L272 TraceCheckUtils]: 18: Hoare triple {8341#(= (+ (* (+ (* 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)); {8059#true} is VALID [2022-04-28 04:16:30,253 INFO L290 TraceCheckUtils]: 17: Hoare triple {8341#(= (+ (* (+ (* 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; {8341#(= (+ (* (+ (* 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 04:16:30,254 INFO L290 TraceCheckUtils]: 16: Hoare triple {8059#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8341#(= (+ (* (+ (* 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 04:16:30,254 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8059#true} {8059#true} #65#return; {8059#true} is VALID [2022-04-28 04:16:30,254 INFO L290 TraceCheckUtils]: 14: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:30,254 INFO L290 TraceCheckUtils]: 13: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:30,254 INFO L290 TraceCheckUtils]: 12: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:30,254 INFO L272 TraceCheckUtils]: 11: Hoare triple {8059#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8059#true} is VALID [2022-04-28 04:16:30,254 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8059#true} {8059#true} #63#return; {8059#true} is VALID [2022-04-28 04:16:30,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:30,254 INFO L290 TraceCheckUtils]: 8: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-28 04:16:30,254 INFO L290 TraceCheckUtils]: 7: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-28 04:16:30,254 INFO L272 TraceCheckUtils]: 6: Hoare triple {8059#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8059#true} is VALID [2022-04-28 04:16:30,255 INFO L290 TraceCheckUtils]: 5: Hoare triple {8059#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8059#true} is VALID [2022-04-28 04:16:30,255 INFO L272 TraceCheckUtils]: 4: Hoare triple {8059#true} call #t~ret6 := main(); {8059#true} is VALID [2022-04-28 04:16:30,255 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8059#true} {8059#true} #81#return; {8059#true} is VALID [2022-04-28 04:16:30,255 INFO L290 TraceCheckUtils]: 2: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-28 04:16:30,255 INFO L290 TraceCheckUtils]: 1: Hoare triple {8059#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); {8059#true} is VALID [2022-04-28 04:16:30,255 INFO L272 TraceCheckUtils]: 0: Hoare triple {8059#true} call ULTIMATE.init(); {8059#true} is VALID [2022-04-28 04:16:30,255 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 14 proven. 12 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 04:16:30,255 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:16:30,255 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1438167202] [2022-04-28 04:16:30,255 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:16:30,255 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [449042986] [2022-04-28 04:16:30,256 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [449042986] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:16:30,256 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:16:30,256 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-28 04:16:30,256 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:16:30,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [639786337] [2022-04-28 04:16:30,256 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [639786337] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:16:30,256 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:16:30,256 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 04:16:30,256 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1726213551] [2022-04-28 04:16:30,256 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:16:30,257 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 63 [2022-04-28 04:16:30,257 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:16:30,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 04:16:30,291 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 04:16:30,291 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 04:16:30,291 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:30,292 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 04:16:30,292 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 04:16:30,292 INFO L87 Difference]: Start difference. First operand 147 states and 178 transitions. Second operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 04:16:30,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:30,951 INFO L93 Difference]: Finished difference Result 185 states and 223 transitions. [2022-04-28 04:16:30,951 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 04:16:30,951 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 63 [2022-04-28 04:16:30,952 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:16:30,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 04:16:30,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2022-04-28 04:16:30,953 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 04:16:30,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2022-04-28 04:16:30,954 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 80 transitions. [2022-04-28 04:16:31,041 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:31,044 INFO L225 Difference]: With dead ends: 185 [2022-04-28 04:16:31,044 INFO L226 Difference]: Without dead ends: 183 [2022-04-28 04:16:31,044 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 116 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-28 04:16:31,045 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 8 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 203 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 209 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 203 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 04:16:31,045 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 181 Invalid, 209 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 203 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 04:16:31,045 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 183 states. [2022-04-28 04:16:31,180 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 183 to 169. [2022-04-28 04:16:31,180 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:16:31,180 INFO L82 GeneralOperation]: Start isEquivalent. First operand 183 states. Second operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 04:16:31,181 INFO L74 IsIncluded]: Start isIncluded. First operand 183 states. Second operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 04:16:31,181 INFO L87 Difference]: Start difference. First operand 183 states. Second operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 04:16:31,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:31,185 INFO L93 Difference]: Finished difference Result 183 states and 221 transitions. [2022-04-28 04:16:31,185 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 221 transitions. [2022-04-28 04:16:31,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:31,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:31,185 INFO L74 IsIncluded]: Start isIncluded. First operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) Second operand 183 states. [2022-04-28 04:16:31,186 INFO L87 Difference]: Start difference. First operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) Second operand 183 states. [2022-04-28 04:16:31,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:31,189 INFO L93 Difference]: Finished difference Result 183 states and 221 transitions. [2022-04-28 04:16:31,189 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 221 transitions. [2022-04-28 04:16:31,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:31,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:31,189 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:16:31,189 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:16:31,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 04:16:31,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 169 states to 169 states and 200 transitions. [2022-04-28 04:16:31,192 INFO L78 Accepts]: Start accepts. Automaton has 169 states and 200 transitions. Word has length 63 [2022-04-28 04:16:31,192 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:16:31,192 INFO L495 AbstractCegarLoop]: Abstraction has 169 states and 200 transitions. [2022-04-28 04:16:31,192 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 04:16:31,193 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 169 states and 200 transitions. [2022-04-28 04:16:31,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 200 edges. 200 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:31,448 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 200 transitions. [2022-04-28 04:16:31,448 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 04:16:31,448 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:16:31,448 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:16:31,465 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 04:16:31,649 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 04:16:31,649 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:16:31,649 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:16:31,649 INFO L85 PathProgramCache]: Analyzing trace with hash 1383919957, now seen corresponding path program 5 times [2022-04-28 04:16:31,649 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:31,650 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [738190905] [2022-04-28 04:16:31,650 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:16:31,650 INFO L85 PathProgramCache]: Analyzing trace with hash 1383919957, now seen corresponding path program 6 times [2022-04-28 04:16:31,650 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:16:31,650 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1853823816] [2022-04-28 04:16:31,650 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:16:31,650 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:16:31,671 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:16:31,671 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1165278853] [2022-04-28 04:16:31,671 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:16:31,671 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:16:31,671 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:16:31,680 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 04:16:31,691 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 04:16:31,739 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 04:16:31,740 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:16:31,741 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-28 04:16:31,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:16:31,749 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:16:32,153 INFO L272 TraceCheckUtils]: 0: Hoare triple {9522#true} call ULTIMATE.init(); {9522#true} is VALID [2022-04-28 04:16:32,153 INFO L290 TraceCheckUtils]: 1: Hoare triple {9522#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); {9522#true} is VALID [2022-04-28 04:16:32,153 INFO L290 TraceCheckUtils]: 2: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:32,154 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9522#true} {9522#true} #81#return; {9522#true} is VALID [2022-04-28 04:16:32,154 INFO L272 TraceCheckUtils]: 4: Hoare triple {9522#true} call #t~ret6 := main(); {9522#true} is VALID [2022-04-28 04:16:32,154 INFO L290 TraceCheckUtils]: 5: Hoare triple {9522#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9522#true} is VALID [2022-04-28 04:16:32,154 INFO L272 TraceCheckUtils]: 6: Hoare triple {9522#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9522#true} is VALID [2022-04-28 04:16:32,154 INFO L290 TraceCheckUtils]: 7: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:32,154 INFO L290 TraceCheckUtils]: 8: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:32,154 INFO L290 TraceCheckUtils]: 9: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:32,154 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9522#true} {9522#true} #63#return; {9522#true} is VALID [2022-04-28 04:16:32,154 INFO L272 TraceCheckUtils]: 11: Hoare triple {9522#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9522#true} is VALID [2022-04-28 04:16:32,154 INFO L290 TraceCheckUtils]: 12: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:32,154 INFO L290 TraceCheckUtils]: 13: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:32,154 INFO L290 TraceCheckUtils]: 14: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:32,154 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9522#true} {9522#true} #65#return; {9522#true} is VALID [2022-04-28 04:16:32,155 INFO L290 TraceCheckUtils]: 16: Hoare triple {9522#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9575#(and (= 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 04:16:32,155 INFO L290 TraceCheckUtils]: 17: Hoare triple {9575#(and (= 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; {9575#(and (= 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 04:16:32,155 INFO L272 TraceCheckUtils]: 18: Hoare triple {9575#(and (= 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)); {9522#true} is VALID [2022-04-28 04:16:32,155 INFO L290 TraceCheckUtils]: 19: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:32,155 INFO L290 TraceCheckUtils]: 20: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:32,155 INFO L290 TraceCheckUtils]: 21: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:32,156 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9522#true} {9575#(and (= 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))} #67#return; {9575#(and (= 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 04:16:32,156 INFO L272 TraceCheckUtils]: 23: Hoare triple {9575#(and (= 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)); {9522#true} is VALID [2022-04-28 04:16:32,156 INFO L290 TraceCheckUtils]: 24: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:32,156 INFO L290 TraceCheckUtils]: 25: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:32,156 INFO L290 TraceCheckUtils]: 26: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:32,157 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9522#true} {9575#(and (= 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))} #69#return; {9575#(and (= 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 04:16:32,157 INFO L272 TraceCheckUtils]: 28: Hoare triple {9575#(and (= 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)); {9522#true} is VALID [2022-04-28 04:16:32,157 INFO L290 TraceCheckUtils]: 29: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:32,157 INFO L290 TraceCheckUtils]: 30: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:32,157 INFO L290 TraceCheckUtils]: 31: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:32,158 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9522#true} {9575#(and (= 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))} #71#return; {9575#(and (= 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 04:16:32,158 INFO L290 TraceCheckUtils]: 33: Hoare triple {9575#(and (= 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); {9575#(and (= 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 04:16:32,158 INFO L290 TraceCheckUtils]: 34: Hoare triple {9575#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:16:32,159 INFO L290 TraceCheckUtils]: 35: Hoare triple {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:16:32,159 INFO L272 TraceCheckUtils]: 36: Hoare triple {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 04:16:32,159 INFO L290 TraceCheckUtils]: 37: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:32,159 INFO L290 TraceCheckUtils]: 38: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:32,159 INFO L290 TraceCheckUtils]: 39: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:32,160 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {9522#true} {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #67#return; {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:16:32,160 INFO L272 TraceCheckUtils]: 41: Hoare triple {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 04:16:32,160 INFO L290 TraceCheckUtils]: 42: Hoare triple {9522#true} ~cond := #in~cond; {9655#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:32,160 INFO L290 TraceCheckUtils]: 43: Hoare triple {9655#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:16:32,161 INFO L290 TraceCheckUtils]: 44: Hoare triple {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:16:32,161 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #69#return; {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:16:32,161 INFO L272 TraceCheckUtils]: 46: Hoare triple {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 04:16:32,162 INFO L290 TraceCheckUtils]: 47: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:32,162 INFO L290 TraceCheckUtils]: 48: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:32,162 INFO L290 TraceCheckUtils]: 49: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:32,163 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9522#true} {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #71#return; {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:16:32,163 INFO L290 TraceCheckUtils]: 51: Hoare triple {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:16:32,164 INFO L290 TraceCheckUtils]: 52: Hoare triple {9630#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} is VALID [2022-04-28 04:16:32,164 INFO L290 TraceCheckUtils]: 53: Hoare triple {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} assume !false; {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} is VALID [2022-04-28 04:16:32,164 INFO L272 TraceCheckUtils]: 54: Hoare triple {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 04:16:32,165 INFO L290 TraceCheckUtils]: 55: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:32,165 INFO L290 TraceCheckUtils]: 56: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:32,165 INFO L290 TraceCheckUtils]: 57: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:32,165 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {9522#true} {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} #67#return; {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} is VALID [2022-04-28 04:16:32,165 INFO L272 TraceCheckUtils]: 59: Hoare triple {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 04:16:32,165 INFO L290 TraceCheckUtils]: 60: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:32,165 INFO L290 TraceCheckUtils]: 61: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:32,165 INFO L290 TraceCheckUtils]: 62: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:32,166 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {9522#true} {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} #69#return; {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} is VALID [2022-04-28 04:16:32,166 INFO L272 TraceCheckUtils]: 64: Hoare triple {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9724#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:16:32,167 INFO L290 TraceCheckUtils]: 65: Hoare triple {9724#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9728#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:32,167 INFO L290 TraceCheckUtils]: 66: Hoare triple {9728#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9523#false} is VALID [2022-04-28 04:16:32,167 INFO L290 TraceCheckUtils]: 67: Hoare triple {9523#false} assume !false; {9523#false} is VALID [2022-04-28 04:16:32,167 INFO L134 CoverageAnalysis]: Checked inductivity of 146 backedges. 27 proven. 24 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-28 04:16:32,167 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:16:42,225 INFO L290 TraceCheckUtils]: 67: Hoare triple {9523#false} assume !false; {9523#false} is VALID [2022-04-28 04:16:42,226 INFO L290 TraceCheckUtils]: 66: Hoare triple {9728#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9523#false} is VALID [2022-04-28 04:16:42,226 INFO L290 TraceCheckUtils]: 65: Hoare triple {9724#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9728#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:42,227 INFO L272 TraceCheckUtils]: 64: Hoare triple {9744#(= 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)); {9724#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:16:42,228 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {9522#true} {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #69#return; {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:16:42,228 INFO L290 TraceCheckUtils]: 62: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:42,228 INFO L290 TraceCheckUtils]: 61: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:42,228 INFO L290 TraceCheckUtils]: 60: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:42,228 INFO L272 TraceCheckUtils]: 59: Hoare triple {9744#(= 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)); {9522#true} is VALID [2022-04-28 04:16:42,229 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {9522#true} {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #67#return; {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:16:42,229 INFO L290 TraceCheckUtils]: 57: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:42,229 INFO L290 TraceCheckUtils]: 56: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:42,229 INFO L290 TraceCheckUtils]: 55: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:42,229 INFO L272 TraceCheckUtils]: 54: Hoare triple {9744#(= 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)); {9522#true} is VALID [2022-04-28 04:16:42,230 INFO L290 TraceCheckUtils]: 53: Hoare triple {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:16:42,372 INFO L290 TraceCheckUtils]: 52: Hoare triple {9781#(= (+ (* (+ 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; {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:16:42,373 INFO L290 TraceCheckUtils]: 51: Hoare triple {9781#(= (+ (* (+ 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); {9781#(= (+ (* (+ 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 04:16:42,373 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9522#true} {9781#(= (+ (* (+ 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))} #71#return; {9781#(= (+ (* (+ 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 04:16:42,374 INFO L290 TraceCheckUtils]: 49: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:42,374 INFO L290 TraceCheckUtils]: 48: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:42,374 INFO L290 TraceCheckUtils]: 47: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:42,374 INFO L272 TraceCheckUtils]: 46: Hoare triple {9781#(= (+ (* (+ 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)); {9522#true} is VALID [2022-04-28 04:16:42,375 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} {9803#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #69#return; {9781#(= (+ (* (+ 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 04:16:42,375 INFO L290 TraceCheckUtils]: 44: Hoare triple {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:16:42,375 INFO L290 TraceCheckUtils]: 43: Hoare triple {9813#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:16:42,375 INFO L290 TraceCheckUtils]: 42: Hoare triple {9522#true} ~cond := #in~cond; {9813#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:16:42,376 INFO L272 TraceCheckUtils]: 41: Hoare triple {9803#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 04:16:42,376 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {9522#true} {9803#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #67#return; {9803#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 04:16:42,376 INFO L290 TraceCheckUtils]: 39: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:42,376 INFO L290 TraceCheckUtils]: 38: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:42,376 INFO L290 TraceCheckUtils]: 37: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:42,376 INFO L272 TraceCheckUtils]: 36: Hoare triple {9803#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 04:16:42,377 INFO L290 TraceCheckUtils]: 35: Hoare triple {9803#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !false; {9803#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 04:16:44,378 WARN L290 TraceCheckUtils]: 34: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9803#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is UNKNOWN [2022-04-28 04:16:44,379 INFO L290 TraceCheckUtils]: 33: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(~a~0 != ~b~0); {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 04:16:44,380 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9522#true} {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #71#return; {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 04:16:44,380 INFO L290 TraceCheckUtils]: 31: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:44,380 INFO L290 TraceCheckUtils]: 30: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:44,380 INFO L290 TraceCheckUtils]: 29: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:44,380 INFO L272 TraceCheckUtils]: 28: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 04:16:44,381 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9522#true} {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #69#return; {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 04:16:44,381 INFO L290 TraceCheckUtils]: 26: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:44,381 INFO L290 TraceCheckUtils]: 25: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:44,381 INFO L290 TraceCheckUtils]: 24: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:44,381 INFO L272 TraceCheckUtils]: 23: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 04:16:44,382 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9522#true} {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #67#return; {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 04:16:44,382 INFO L290 TraceCheckUtils]: 21: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:44,382 INFO L290 TraceCheckUtils]: 20: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:44,382 INFO L290 TraceCheckUtils]: 19: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:44,382 INFO L272 TraceCheckUtils]: 18: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9522#true} is VALID [2022-04-28 04:16:44,383 INFO L290 TraceCheckUtils]: 17: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !false; {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 04:16:44,383 INFO L290 TraceCheckUtils]: 16: Hoare triple {9522#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-28 04:16:44,383 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9522#true} {9522#true} #65#return; {9522#true} is VALID [2022-04-28 04:16:44,383 INFO L290 TraceCheckUtils]: 14: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:44,383 INFO L290 TraceCheckUtils]: 13: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:44,383 INFO L290 TraceCheckUtils]: 12: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:44,383 INFO L272 TraceCheckUtils]: 11: Hoare triple {9522#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9522#true} is VALID [2022-04-28 04:16:44,384 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9522#true} {9522#true} #63#return; {9522#true} is VALID [2022-04-28 04:16:44,384 INFO L290 TraceCheckUtils]: 9: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:44,384 INFO L290 TraceCheckUtils]: 8: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-28 04:16:44,384 INFO L290 TraceCheckUtils]: 7: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-28 04:16:44,384 INFO L272 TraceCheckUtils]: 6: Hoare triple {9522#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9522#true} is VALID [2022-04-28 04:16:44,384 INFO L290 TraceCheckUtils]: 5: Hoare triple {9522#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9522#true} is VALID [2022-04-28 04:16:44,384 INFO L272 TraceCheckUtils]: 4: Hoare triple {9522#true} call #t~ret6 := main(); {9522#true} is VALID [2022-04-28 04:16:44,384 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9522#true} {9522#true} #81#return; {9522#true} is VALID [2022-04-28 04:16:44,384 INFO L290 TraceCheckUtils]: 2: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-28 04:16:44,384 INFO L290 TraceCheckUtils]: 1: Hoare triple {9522#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); {9522#true} is VALID [2022-04-28 04:16:44,384 INFO L272 TraceCheckUtils]: 0: Hoare triple {9522#true} call ULTIMATE.init(); {9522#true} is VALID [2022-04-28 04:16:44,385 INFO L134 CoverageAnalysis]: Checked inductivity of 146 backedges. 34 proven. 17 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-28 04:16:44,385 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:16:44,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1853823816] [2022-04-28 04:16:44,385 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:16:44,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1165278853] [2022-04-28 04:16:44,385 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1165278853] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:16:44,385 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:16:44,385 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-28 04:16:44,385 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:16:44,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [738190905] [2022-04-28 04:16:44,386 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [738190905] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:16:44,386 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:16:44,386 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 04:16:44,386 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [847445102] [2022-04-28 04:16:44,386 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:16:44,386 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 68 [2022-04-28 04:16:44,386 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:16:44,386 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 04:16:44,431 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 04:16:44,431 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 04:16:44,431 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:44,431 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 04:16:44,431 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-28 04:16:44,432 INFO L87 Difference]: Start difference. First operand 169 states and 200 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 04:16:45,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:45,290 INFO L93 Difference]: Finished difference Result 191 states and 234 transitions. [2022-04-28 04:16:45,290 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 04:16:45,290 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 68 [2022-04-28 04:16:45,291 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:16:45,291 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 04:16:45,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 80 transitions. [2022-04-28 04:16:45,292 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 04:16:45,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 80 transitions. [2022-04-28 04:16:45,293 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 80 transitions. [2022-04-28 04:16:45,404 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:16:45,407 INFO L225 Difference]: With dead ends: 191 [2022-04-28 04:16:45,407 INFO L226 Difference]: Without dead ends: 185 [2022-04-28 04:16:45,407 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 121 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2022-04-28 04:16:45,408 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 15 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 291 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 306 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 291 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:16:45,408 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 133 Invalid, 306 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 291 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 04:16:45,408 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states. [2022-04-28 04:16:45,573 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 172. [2022-04-28 04:16:45,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:16:45,574 INFO L82 GeneralOperation]: Start isEquivalent. First operand 185 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 04:16:45,574 INFO L74 IsIncluded]: Start isIncluded. First operand 185 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 04:16:45,575 INFO L87 Difference]: Start difference. First operand 185 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 04:16:45,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:45,578 INFO L93 Difference]: Finished difference Result 185 states and 223 transitions. [2022-04-28 04:16:45,578 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 223 transitions. [2022-04-28 04:16:45,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:45,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:45,580 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) Second operand 185 states. [2022-04-28 04:16:45,580 INFO L87 Difference]: Start difference. First operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) Second operand 185 states. [2022-04-28 04:16:45,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:16:45,586 INFO L93 Difference]: Finished difference Result 185 states and 223 transitions. [2022-04-28 04:16:45,586 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 223 transitions. [2022-04-28 04:16:45,586 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:16:45,586 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:16:45,586 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:16:45,586 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:16:45,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 04:16:45,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 205 transitions. [2022-04-28 04:16:45,590 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 205 transitions. Word has length 68 [2022-04-28 04:16:45,590 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:16:45,590 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 205 transitions. [2022-04-28 04:16:45,593 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 04:16:45,594 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 205 transitions. [2022-04-28 04:16:45,871 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 04:16:45,871 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 205 transitions. [2022-04-28 04:16:45,871 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 04:16:45,871 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:16:45,871 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:16:45,890 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 04:16:46,072 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 04:16:46,072 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:16:46,073 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:16:46,073 INFO L85 PathProgramCache]: Analyzing trace with hash -860063341, now seen corresponding path program 3 times [2022-04-28 04:16:46,073 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:46,073 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1628142808] [2022-04-28 04:16:46,073 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:16:46,073 INFO L85 PathProgramCache]: Analyzing trace with hash -860063341, now seen corresponding path program 4 times [2022-04-28 04:16:46,073 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:16:46,073 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1498620185] [2022-04-28 04:16:46,073 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:16:46,073 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:16:46,083 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:16:46,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1848570117] [2022-04-28 04:16:46,083 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:16:46,083 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:16:46,083 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:16:46,084 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 04:16:46,085 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 04:16:46,124 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:16:46,124 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:16:46,125 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 04:16:46,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:16:46,137 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:16:46,571 INFO L272 TraceCheckUtils]: 0: Hoare triple {11043#true} call ULTIMATE.init(); {11043#true} is VALID [2022-04-28 04:16:46,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {11043#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); {11043#true} is VALID [2022-04-28 04:16:46,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:46,572 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11043#true} {11043#true} #81#return; {11043#true} is VALID [2022-04-28 04:16:46,572 INFO L272 TraceCheckUtils]: 4: Hoare triple {11043#true} call #t~ret6 := main(); {11043#true} is VALID [2022-04-28 04:16:46,572 INFO L290 TraceCheckUtils]: 5: Hoare triple {11043#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11043#true} is VALID [2022-04-28 04:16:46,572 INFO L272 TraceCheckUtils]: 6: Hoare triple {11043#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11043#true} is VALID [2022-04-28 04:16:46,572 INFO L290 TraceCheckUtils]: 7: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:46,572 INFO L290 TraceCheckUtils]: 8: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:46,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:46,573 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11043#true} {11043#true} #63#return; {11043#true} is VALID [2022-04-28 04:16:46,573 INFO L272 TraceCheckUtils]: 11: Hoare triple {11043#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11043#true} is VALID [2022-04-28 04:16:46,573 INFO L290 TraceCheckUtils]: 12: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:46,573 INFO L290 TraceCheckUtils]: 13: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:46,573 INFO L290 TraceCheckUtils]: 14: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:46,573 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11043#true} {11043#true} #65#return; {11043#true} is VALID [2022-04-28 04:16:46,574 INFO L290 TraceCheckUtils]: 16: Hoare triple {11043#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11096#(and (= 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 04:16:46,575 INFO L290 TraceCheckUtils]: 17: Hoare triple {11096#(and (= 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; {11096#(and (= 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 04:16:46,575 INFO L272 TraceCheckUtils]: 18: Hoare triple {11096#(and (= 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)); {11043#true} is VALID [2022-04-28 04:16:46,575 INFO L290 TraceCheckUtils]: 19: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:46,575 INFO L290 TraceCheckUtils]: 20: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:46,575 INFO L290 TraceCheckUtils]: 21: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:46,576 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11043#true} {11096#(and (= 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))} #67#return; {11096#(and (= 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 04:16:46,576 INFO L272 TraceCheckUtils]: 23: Hoare triple {11096#(and (= 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)); {11043#true} is VALID [2022-04-28 04:16:46,576 INFO L290 TraceCheckUtils]: 24: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:46,576 INFO L290 TraceCheckUtils]: 25: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:46,576 INFO L290 TraceCheckUtils]: 26: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:46,577 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {11043#true} {11096#(and (= 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))} #69#return; {11096#(and (= 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 04:16:46,577 INFO L272 TraceCheckUtils]: 28: Hoare triple {11096#(and (= 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)); {11043#true} is VALID [2022-04-28 04:16:46,577 INFO L290 TraceCheckUtils]: 29: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:46,577 INFO L290 TraceCheckUtils]: 30: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:46,577 INFO L290 TraceCheckUtils]: 31: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:46,577 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11043#true} {11096#(and (= 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))} #71#return; {11096#(and (= 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 04:16:46,578 INFO L290 TraceCheckUtils]: 33: Hoare triple {11096#(and (= 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); {11096#(and (= 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 04:16:46,578 INFO L290 TraceCheckUtils]: 34: Hoare triple {11096#(and (= 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; {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:46,579 INFO L290 TraceCheckUtils]: 35: Hoare triple {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:46,579 INFO L272 TraceCheckUtils]: 36: Hoare triple {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 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)); {11043#true} is VALID [2022-04-28 04:16:46,579 INFO L290 TraceCheckUtils]: 37: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:46,579 INFO L290 TraceCheckUtils]: 38: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:46,579 INFO L290 TraceCheckUtils]: 39: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:46,580 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {11043#true} {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #67#return; {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:46,580 INFO L272 TraceCheckUtils]: 41: Hoare triple {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 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)); {11043#true} is VALID [2022-04-28 04:16:46,580 INFO L290 TraceCheckUtils]: 42: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:46,580 INFO L290 TraceCheckUtils]: 43: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:46,580 INFO L290 TraceCheckUtils]: 44: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:46,581 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11043#true} {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #69#return; {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:46,581 INFO L272 TraceCheckUtils]: 46: Hoare triple {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 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)); {11043#true} is VALID [2022-04-28 04:16:46,581 INFO L290 TraceCheckUtils]: 47: Hoare triple {11043#true} ~cond := #in~cond; {11191#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:46,581 INFO L290 TraceCheckUtils]: 48: Hoare triple {11191#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:16:46,581 INFO L290 TraceCheckUtils]: 49: Hoare triple {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:16:46,582 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #71#return; {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:46,582 INFO L290 TraceCheckUtils]: 51: Hoare triple {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 04:16:46,583 INFO L290 TraceCheckUtils]: 52: Hoare triple {11151#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 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; {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-28 04:16:46,584 INFO L290 TraceCheckUtils]: 53: Hoare triple {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} assume !false; {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-28 04:16:46,584 INFO L272 TraceCheckUtils]: 54: Hoare triple {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~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)); {11043#true} is VALID [2022-04-28 04:16:46,584 INFO L290 TraceCheckUtils]: 55: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:46,584 INFO L290 TraceCheckUtils]: 56: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:46,584 INFO L290 TraceCheckUtils]: 57: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:46,585 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {11043#true} {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} #67#return; {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-28 04:16:46,585 INFO L272 TraceCheckUtils]: 59: Hoare triple {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~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)); {11043#true} is VALID [2022-04-28 04:16:46,585 INFO L290 TraceCheckUtils]: 60: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:46,585 INFO L290 TraceCheckUtils]: 61: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:46,585 INFO L290 TraceCheckUtils]: 62: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:46,585 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {11043#true} {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} #69#return; {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-28 04:16:46,586 INFO L272 TraceCheckUtils]: 64: Hoare triple {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~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)); {11245#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:16:46,586 INFO L290 TraceCheckUtils]: 65: Hoare triple {11245#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11249#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:46,587 INFO L290 TraceCheckUtils]: 66: Hoare triple {11249#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11044#false} is VALID [2022-04-28 04:16:46,587 INFO L290 TraceCheckUtils]: 67: Hoare triple {11044#false} assume !false; {11044#false} is VALID [2022-04-28 04:16:46,587 INFO L134 CoverageAnalysis]: Checked inductivity of 146 backedges. 30 proven. 21 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-28 04:16:46,587 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:16:59,737 INFO L290 TraceCheckUtils]: 67: Hoare triple {11044#false} assume !false; {11044#false} is VALID [2022-04-28 04:16:59,737 INFO L290 TraceCheckUtils]: 66: Hoare triple {11249#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11044#false} is VALID [2022-04-28 04:16:59,738 INFO L290 TraceCheckUtils]: 65: Hoare triple {11245#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11249#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:16:59,738 INFO L272 TraceCheckUtils]: 64: Hoare triple {11265#(= 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)); {11245#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:16:59,739 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {11043#true} {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #69#return; {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:16:59,739 INFO L290 TraceCheckUtils]: 62: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:59,739 INFO L290 TraceCheckUtils]: 61: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:59,739 INFO L290 TraceCheckUtils]: 60: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:59,739 INFO L272 TraceCheckUtils]: 59: Hoare triple {11265#(= 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)); {11043#true} is VALID [2022-04-28 04:16:59,740 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {11043#true} {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #67#return; {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:16:59,740 INFO L290 TraceCheckUtils]: 57: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:59,740 INFO L290 TraceCheckUtils]: 56: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:59,740 INFO L290 TraceCheckUtils]: 55: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:59,740 INFO L272 TraceCheckUtils]: 54: Hoare triple {11265#(= 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)); {11043#true} is VALID [2022-04-28 04:16:59,741 INFO L290 TraceCheckUtils]: 53: Hoare triple {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:16:59,854 INFO L290 TraceCheckUtils]: 52: Hoare triple {11302#(= (+ (* (+ 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; {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:16:59,854 INFO L290 TraceCheckUtils]: 51: Hoare triple {11302#(= (+ (* (+ 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); {11302#(= (+ (* (+ 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 04:16:59,855 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} {11309#(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)))} #71#return; {11302#(= (+ (* (+ 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 04:16:59,855 INFO L290 TraceCheckUtils]: 49: Hoare triple {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:16:59,856 INFO L290 TraceCheckUtils]: 48: Hoare triple {11319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:16:59,856 INFO L290 TraceCheckUtils]: 47: Hoare triple {11043#true} ~cond := #in~cond; {11319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:16:59,859 INFO L272 TraceCheckUtils]: 46: Hoare triple {11309#(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)); {11043#true} is VALID [2022-04-28 04:16:59,860 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11043#true} {11309#(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)))} #69#return; {11309#(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 04:16:59,860 INFO L290 TraceCheckUtils]: 44: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:59,860 INFO L290 TraceCheckUtils]: 43: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:59,860 INFO L290 TraceCheckUtils]: 42: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:59,860 INFO L272 TraceCheckUtils]: 41: Hoare triple {11309#(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)); {11043#true} is VALID [2022-04-28 04:16:59,861 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {11043#true} {11309#(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)))} #67#return; {11309#(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 04:16:59,861 INFO L290 TraceCheckUtils]: 39: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:59,861 INFO L290 TraceCheckUtils]: 38: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:59,861 INFO L290 TraceCheckUtils]: 37: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:59,861 INFO L272 TraceCheckUtils]: 36: Hoare triple {11309#(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)); {11043#true} is VALID [2022-04-28 04:16:59,862 INFO L290 TraceCheckUtils]: 35: Hoare triple {11309#(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; {11309#(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 04:16:59,890 INFO L290 TraceCheckUtils]: 34: Hoare triple {11359#(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; {11309#(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 04:16:59,891 INFO L290 TraceCheckUtils]: 33: Hoare triple {11359#(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); {11359#(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 04:16:59,892 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11043#true} {11359#(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))))} #71#return; {11359#(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 04:16:59,892 INFO L290 TraceCheckUtils]: 31: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:59,892 INFO L290 TraceCheckUtils]: 30: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:59,892 INFO L290 TraceCheckUtils]: 29: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:59,892 INFO L272 TraceCheckUtils]: 28: Hoare triple {11359#(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))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11043#true} is VALID [2022-04-28 04:16:59,893 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {11043#true} {11359#(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))))} #69#return; {11359#(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 04:16:59,893 INFO L290 TraceCheckUtils]: 26: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:59,893 INFO L290 TraceCheckUtils]: 25: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:59,893 INFO L290 TraceCheckUtils]: 24: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:59,893 INFO L272 TraceCheckUtils]: 23: Hoare triple {11359#(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))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11043#true} is VALID [2022-04-28 04:16:59,894 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11043#true} {11359#(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))))} #67#return; {11359#(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 04:16:59,894 INFO L290 TraceCheckUtils]: 21: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:59,894 INFO L290 TraceCheckUtils]: 20: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:59,894 INFO L290 TraceCheckUtils]: 19: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:59,894 INFO L272 TraceCheckUtils]: 18: Hoare triple {11359#(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))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11043#true} is VALID [2022-04-28 04:16:59,894 INFO L290 TraceCheckUtils]: 17: Hoare triple {11359#(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 !false; {11359#(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 04:16:59,895 INFO L290 TraceCheckUtils]: 16: Hoare triple {11043#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11359#(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 04:16:59,895 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11043#true} {11043#true} #65#return; {11043#true} is VALID [2022-04-28 04:16:59,895 INFO L290 TraceCheckUtils]: 14: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:59,895 INFO L290 TraceCheckUtils]: 13: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:59,895 INFO L290 TraceCheckUtils]: 12: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:59,895 INFO L272 TraceCheckUtils]: 11: Hoare triple {11043#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11043#true} is VALID [2022-04-28 04:16:59,895 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11043#true} {11043#true} #63#return; {11043#true} is VALID [2022-04-28 04:16:59,895 INFO L290 TraceCheckUtils]: 9: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:59,895 INFO L290 TraceCheckUtils]: 8: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-28 04:16:59,895 INFO L290 TraceCheckUtils]: 7: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-28 04:16:59,895 INFO L272 TraceCheckUtils]: 6: Hoare triple {11043#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11043#true} is VALID [2022-04-28 04:16:59,896 INFO L290 TraceCheckUtils]: 5: Hoare triple {11043#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11043#true} is VALID [2022-04-28 04:16:59,896 INFO L272 TraceCheckUtils]: 4: Hoare triple {11043#true} call #t~ret6 := main(); {11043#true} is VALID [2022-04-28 04:16:59,896 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11043#true} {11043#true} #81#return; {11043#true} is VALID [2022-04-28 04:16:59,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-28 04:16:59,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {11043#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); {11043#true} is VALID [2022-04-28 04:16:59,896 INFO L272 TraceCheckUtils]: 0: Hoare triple {11043#true} call ULTIMATE.init(); {11043#true} is VALID [2022-04-28 04:16:59,896 INFO L134 CoverageAnalysis]: Checked inductivity of 146 backedges. 34 proven. 17 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-28 04:16:59,896 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:16:59,896 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1498620185] [2022-04-28 04:16:59,897 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:16:59,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1848570117] [2022-04-28 04:16:59,897 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1848570117] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:16:59,897 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:16:59,897 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-28 04:16:59,897 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:16:59,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1628142808] [2022-04-28 04:16:59,897 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1628142808] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:16:59,897 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:16:59,897 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 04:16:59,897 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [102332164] [2022-04-28 04:16:59,897 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:16:59,898 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 68 [2022-04-28 04:16:59,898 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:16:59,898 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 04:16:59,937 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 04:16:59,938 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 04:16:59,938 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:16:59,938 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 04:16:59,938 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 04:16:59,938 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 04:17:00,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:17:00,807 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-28 04:17:00,807 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 04:17:00,807 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 68 [2022-04-28 04:17:00,808 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:17:00,808 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 04:17:00,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 80 transitions. [2022-04-28 04:17:00,809 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 04:17:00,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 80 transitions. [2022-04-28 04:17:00,810 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 80 transitions. [2022-04-28 04:17:00,891 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:17:00,894 INFO L225 Difference]: With dead ends: 197 [2022-04-28 04:17:00,894 INFO L226 Difference]: Without dead ends: 188 [2022-04-28 04:17:00,895 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 121 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-28 04:17:00,895 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 15 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 283 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 283 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 04:17:00,895 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 130 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 283 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 04:17:00,895 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2022-04-28 04:17:01,043 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 188. [2022-04-28 04:17:01,043 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:17:01,044 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 04:17:01,044 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 04:17:01,044 INFO L87 Difference]: Start difference. First operand 188 states. Second operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 04:17:01,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:17:01,047 INFO L93 Difference]: Finished difference Result 188 states and 228 transitions. [2022-04-28 04:17:01,047 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 228 transitions. [2022-04-28 04:17:01,048 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:17:01,048 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:17:01,048 INFO L74 IsIncluded]: Start isIncluded. First operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) Second operand 188 states. [2022-04-28 04:17:01,048 INFO L87 Difference]: Start difference. First operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) Second operand 188 states. [2022-04-28 04:17:01,051 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:17:01,051 INFO L93 Difference]: Finished difference Result 188 states and 228 transitions. [2022-04-28 04:17:01,051 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 228 transitions. [2022-04-28 04:17:01,052 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:17:01,052 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:17:01,052 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:17:01,052 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:17:01,052 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 04:17:01,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 188 states to 188 states and 228 transitions. [2022-04-28 04:17:01,055 INFO L78 Accepts]: Start accepts. Automaton has 188 states and 228 transitions. Word has length 68 [2022-04-28 04:17:01,056 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:17:01,056 INFO L495 AbstractCegarLoop]: Abstraction has 188 states and 228 transitions. [2022-04-28 04:17:01,056 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, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 04:17:01,056 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 188 states and 228 transitions. [2022-04-28 04:17:01,387 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 228 edges. 228 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:17:01,387 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 228 transitions. [2022-04-28 04:17:01,388 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-28 04:17:01,388 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:17:01,388 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:17:01,404 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 04:17:01,596 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 04:17:01,596 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:17:01,597 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:17:01,597 INFO L85 PathProgramCache]: Analyzing trace with hash -35686306, now seen corresponding path program 7 times [2022-04-28 04:17:01,597 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:17:01,597 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [877218541] [2022-04-28 04:17:01,597 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:17:01,597 INFO L85 PathProgramCache]: Analyzing trace with hash -35686306, now seen corresponding path program 8 times [2022-04-28 04:17:01,597 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:17:01,597 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [185820145] [2022-04-28 04:17:01,598 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:17:01,598 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:17:01,606 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:17:01,606 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1239960098] [2022-04-28 04:17:01,606 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:17:01,606 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:17:01,607 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:17:01,607 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 04:17:01,608 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 04:17:01,653 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:17:01,654 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:17:01,655 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 04:17:01,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:17:01,667 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:17:02,175 INFO L272 TraceCheckUtils]: 0: Hoare triple {12614#true} call ULTIMATE.init(); {12614#true} is VALID [2022-04-28 04:17:02,175 INFO L290 TraceCheckUtils]: 1: Hoare triple {12614#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); {12614#true} is VALID [2022-04-28 04:17:02,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:02,176 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12614#true} {12614#true} #81#return; {12614#true} is VALID [2022-04-28 04:17:02,176 INFO L272 TraceCheckUtils]: 4: Hoare triple {12614#true} call #t~ret6 := main(); {12614#true} is VALID [2022-04-28 04:17:02,176 INFO L290 TraceCheckUtils]: 5: Hoare triple {12614#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12614#true} is VALID [2022-04-28 04:17:02,176 INFO L272 TraceCheckUtils]: 6: Hoare triple {12614#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:02,176 INFO L290 TraceCheckUtils]: 7: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:02,176 INFO L290 TraceCheckUtils]: 8: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:02,176 INFO L290 TraceCheckUtils]: 9: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:02,176 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12614#true} {12614#true} #63#return; {12614#true} is VALID [2022-04-28 04:17:02,176 INFO L272 TraceCheckUtils]: 11: Hoare triple {12614#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:02,176 INFO L290 TraceCheckUtils]: 12: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:02,176 INFO L290 TraceCheckUtils]: 13: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:02,176 INFO L290 TraceCheckUtils]: 14: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:02,176 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12614#true} {12614#true} #65#return; {12614#true} is VALID [2022-04-28 04:17:02,177 INFO L290 TraceCheckUtils]: 16: Hoare triple {12614#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {12667#(and (= 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 04:17:02,177 INFO L290 TraceCheckUtils]: 17: Hoare triple {12667#(and (= 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; {12667#(and (= 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 04:17:02,177 INFO L272 TraceCheckUtils]: 18: Hoare triple {12667#(and (= 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)); {12614#true} is VALID [2022-04-28 04:17:02,177 INFO L290 TraceCheckUtils]: 19: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:02,177 INFO L290 TraceCheckUtils]: 20: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:02,177 INFO L290 TraceCheckUtils]: 21: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:02,178 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12614#true} {12667#(and (= 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))} #67#return; {12667#(and (= 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 04:17:02,178 INFO L272 TraceCheckUtils]: 23: Hoare triple {12667#(and (= 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)); {12614#true} is VALID [2022-04-28 04:17:02,178 INFO L290 TraceCheckUtils]: 24: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:02,178 INFO L290 TraceCheckUtils]: 25: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:02,178 INFO L290 TraceCheckUtils]: 26: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:02,179 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {12614#true} {12667#(and (= 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))} #69#return; {12667#(and (= 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 04:17:02,179 INFO L272 TraceCheckUtils]: 28: Hoare triple {12667#(and (= 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)); {12614#true} is VALID [2022-04-28 04:17:02,179 INFO L290 TraceCheckUtils]: 29: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:02,179 INFO L290 TraceCheckUtils]: 30: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:02,179 INFO L290 TraceCheckUtils]: 31: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:02,180 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12614#true} {12667#(and (= 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))} #71#return; {12667#(and (= 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 04:17:02,180 INFO L290 TraceCheckUtils]: 33: Hoare triple {12667#(and (= 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); {12667#(and (= 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 04:17:02,181 INFO L290 TraceCheckUtils]: 34: Hoare triple {12667#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 04:17:02,181 INFO L290 TraceCheckUtils]: 35: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !false; {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 04:17:02,181 INFO L272 TraceCheckUtils]: 36: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:02,181 INFO L290 TraceCheckUtils]: 37: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:02,181 INFO L290 TraceCheckUtils]: 38: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:02,181 INFO L290 TraceCheckUtils]: 39: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:02,182 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {12614#true} {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #67#return; {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 04:17:02,182 INFO L272 TraceCheckUtils]: 41: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:02,182 INFO L290 TraceCheckUtils]: 42: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:02,182 INFO L290 TraceCheckUtils]: 43: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:02,182 INFO L290 TraceCheckUtils]: 44: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:02,183 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12614#true} {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #69#return; {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 04:17:02,183 INFO L272 TraceCheckUtils]: 46: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:02,183 INFO L290 TraceCheckUtils]: 47: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:02,183 INFO L290 TraceCheckUtils]: 48: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:02,183 INFO L290 TraceCheckUtils]: 49: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:02,184 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12614#true} {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #71#return; {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 04:17:02,184 INFO L290 TraceCheckUtils]: 51: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 04:17:02,185 INFO L290 TraceCheckUtils]: 52: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~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; {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 04:17:02,185 INFO L290 TraceCheckUtils]: 53: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !false; {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 04:17:02,185 INFO L272 TraceCheckUtils]: 54: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:02,186 INFO L290 TraceCheckUtils]: 55: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:02,186 INFO L290 TraceCheckUtils]: 56: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:02,186 INFO L290 TraceCheckUtils]: 57: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:02,186 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {12614#true} {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #67#return; {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 04:17:02,186 INFO L272 TraceCheckUtils]: 59: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:02,186 INFO L290 TraceCheckUtils]: 60: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:02,186 INFO L290 TraceCheckUtils]: 61: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:02,186 INFO L290 TraceCheckUtils]: 62: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:02,187 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {12614#true} {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #69#return; {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 04:17:02,187 INFO L272 TraceCheckUtils]: 64: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:02,187 INFO L290 TraceCheckUtils]: 65: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:02,187 INFO L290 TraceCheckUtils]: 66: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:02,187 INFO L290 TraceCheckUtils]: 67: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:02,188 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {12614#true} {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #71#return; {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 04:17:02,188 INFO L290 TraceCheckUtils]: 69: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(~a~0 != ~b~0); {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 04:17:02,189 INFO L290 TraceCheckUtils]: 70: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~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; {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:02,189 INFO L290 TraceCheckUtils]: 71: Hoare triple {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} assume !false; {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:02,190 INFO L272 TraceCheckUtils]: 72: Hoare triple {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:02,190 INFO L290 TraceCheckUtils]: 73: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:02,190 INFO L290 TraceCheckUtils]: 74: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:02,190 INFO L290 TraceCheckUtils]: 75: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:02,190 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {12614#true} {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} #67#return; {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:02,191 INFO L272 TraceCheckUtils]: 77: Hoare triple {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12854#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:17:02,191 INFO L290 TraceCheckUtils]: 78: Hoare triple {12854#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12858#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:17:02,192 INFO L290 TraceCheckUtils]: 79: Hoare triple {12858#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12615#false} is VALID [2022-04-28 04:17:02,192 INFO L290 TraceCheckUtils]: 80: Hoare triple {12615#false} assume !false; {12615#false} is VALID [2022-04-28 04:17:02,192 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 20 proven. 27 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 04:17:02,192 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:17:02,501 INFO L290 TraceCheckUtils]: 80: Hoare triple {12615#false} assume !false; {12615#false} is VALID [2022-04-28 04:17:02,502 INFO L290 TraceCheckUtils]: 79: Hoare triple {12858#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12615#false} is VALID [2022-04-28 04:17:02,502 INFO L290 TraceCheckUtils]: 78: Hoare triple {12854#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12858#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:17:02,503 INFO L272 TraceCheckUtils]: 77: Hoare triple {12874#(= 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)); {12854#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:17:02,503 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {12614#true} {12874#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {12874#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:17:02,503 INFO L290 TraceCheckUtils]: 75: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:02,504 INFO L290 TraceCheckUtils]: 74: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:02,504 INFO L290 TraceCheckUtils]: 73: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:02,504 INFO L272 TraceCheckUtils]: 72: Hoare triple {12874#(= 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)); {12614#true} is VALID [2022-04-28 04:17:02,504 INFO L290 TraceCheckUtils]: 71: Hoare triple {12874#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12874#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:17:03,181 INFO L290 TraceCheckUtils]: 70: Hoare triple {12896#(= (+ main_~a~0 (* (- 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; {12874#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:17:03,181 INFO L290 TraceCheckUtils]: 69: Hoare triple {12896#(= (+ main_~a~0 (* (- 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); {12896#(= (+ main_~a~0 (* (- 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 04:17:03,182 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {12614#true} {12896#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #71#return; {12896#(= (+ main_~a~0 (* (- 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 04:17:03,182 INFO L290 TraceCheckUtils]: 67: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:03,182 INFO L290 TraceCheckUtils]: 66: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:03,182 INFO L290 TraceCheckUtils]: 65: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:03,182 INFO L272 TraceCheckUtils]: 64: Hoare triple {12896#(= (+ main_~a~0 (* (- 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)); {12614#true} is VALID [2022-04-28 04:17:03,183 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {12614#true} {12896#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #69#return; {12896#(= (+ main_~a~0 (* (- 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 04:17:03,183 INFO L290 TraceCheckUtils]: 62: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:03,183 INFO L290 TraceCheckUtils]: 61: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:03,183 INFO L290 TraceCheckUtils]: 60: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:03,183 INFO L272 TraceCheckUtils]: 59: Hoare triple {12896#(= (+ main_~a~0 (* (- 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)); {12614#true} is VALID [2022-04-28 04:17:03,184 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {12614#true} {12896#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #67#return; {12896#(= (+ main_~a~0 (* (- 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 04:17:03,184 INFO L290 TraceCheckUtils]: 57: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:03,184 INFO L290 TraceCheckUtils]: 56: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:03,184 INFO L290 TraceCheckUtils]: 55: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:03,184 INFO L272 TraceCheckUtils]: 54: Hoare triple {12896#(= (+ main_~a~0 (* (- 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)); {12614#true} is VALID [2022-04-28 04:17:03,185 INFO L290 TraceCheckUtils]: 53: Hoare triple {12896#(= (+ main_~a~0 (* (- 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; {12896#(= (+ main_~a~0 (* (- 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 04:17:03,242 INFO L290 TraceCheckUtils]: 52: Hoare triple {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12896#(= (+ main_~a~0 (* (- 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 04:17:03,243 INFO L290 TraceCheckUtils]: 51: Hoare triple {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !!(~a~0 != ~b~0); {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 04:17:03,244 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12614#true} {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #71#return; {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 04:17:03,244 INFO L290 TraceCheckUtils]: 49: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:03,244 INFO L290 TraceCheckUtils]: 48: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:03,244 INFO L290 TraceCheckUtils]: 47: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:03,244 INFO L272 TraceCheckUtils]: 46: Hoare triple {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:03,245 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12614#true} {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #69#return; {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 04:17:03,245 INFO L290 TraceCheckUtils]: 44: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:03,245 INFO L290 TraceCheckUtils]: 43: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:03,245 INFO L290 TraceCheckUtils]: 42: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:03,245 INFO L272 TraceCheckUtils]: 41: Hoare triple {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:03,246 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {12614#true} {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #67#return; {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 04:17:03,246 INFO L290 TraceCheckUtils]: 39: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:03,246 INFO L290 TraceCheckUtils]: 38: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:03,246 INFO L290 TraceCheckUtils]: 37: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:03,246 INFO L272 TraceCheckUtils]: 36: Hoare triple {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:03,246 INFO L290 TraceCheckUtils]: 35: Hoare triple {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !false; {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-28 04:17:05,248 WARN L290 TraceCheckUtils]: 34: Hoare triple {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12951#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is UNKNOWN [2022-04-28 04:17:05,249 INFO L290 TraceCheckUtils]: 33: Hoare triple {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !!(~a~0 != ~b~0); {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 04:17:05,249 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12614#true} {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #71#return; {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 04:17:05,249 INFO L290 TraceCheckUtils]: 31: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:05,249 INFO L290 TraceCheckUtils]: 30: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:05,250 INFO L290 TraceCheckUtils]: 29: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:05,250 INFO L272 TraceCheckUtils]: 28: Hoare triple {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:05,250 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {12614#true} {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #69#return; {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 04:17:05,250 INFO L290 TraceCheckUtils]: 26: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:05,250 INFO L290 TraceCheckUtils]: 25: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:05,250 INFO L290 TraceCheckUtils]: 24: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:05,250 INFO L272 TraceCheckUtils]: 23: Hoare triple {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:05,251 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12614#true} {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #67#return; {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 04:17:05,251 INFO L290 TraceCheckUtils]: 21: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:05,251 INFO L290 TraceCheckUtils]: 20: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:05,251 INFO L290 TraceCheckUtils]: 19: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:05,251 INFO L272 TraceCheckUtils]: 18: Hoare triple {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:05,252 INFO L290 TraceCheckUtils]: 17: Hoare triple {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !false; {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 04:17:05,252 INFO L290 TraceCheckUtils]: 16: Hoare triple {12614#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13006#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-28 04:17:05,252 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12614#true} {12614#true} #65#return; {12614#true} is VALID [2022-04-28 04:17:05,252 INFO L290 TraceCheckUtils]: 14: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:05,252 INFO L290 TraceCheckUtils]: 13: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:05,252 INFO L290 TraceCheckUtils]: 12: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:05,253 INFO L272 TraceCheckUtils]: 11: Hoare triple {12614#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:05,253 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12614#true} {12614#true} #63#return; {12614#true} is VALID [2022-04-28 04:17:05,253 INFO L290 TraceCheckUtils]: 9: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:05,253 INFO L290 TraceCheckUtils]: 8: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-28 04:17:05,253 INFO L290 TraceCheckUtils]: 7: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-28 04:17:05,253 INFO L272 TraceCheckUtils]: 6: Hoare triple {12614#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12614#true} is VALID [2022-04-28 04:17:05,253 INFO L290 TraceCheckUtils]: 5: Hoare triple {12614#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12614#true} is VALID [2022-04-28 04:17:05,253 INFO L272 TraceCheckUtils]: 4: Hoare triple {12614#true} call #t~ret6 := main(); {12614#true} is VALID [2022-04-28 04:17:05,253 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12614#true} {12614#true} #81#return; {12614#true} is VALID [2022-04-28 04:17:05,253 INFO L290 TraceCheckUtils]: 2: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-28 04:17:05,253 INFO L290 TraceCheckUtils]: 1: Hoare triple {12614#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); {12614#true} is VALID [2022-04-28 04:17:05,253 INFO L272 TraceCheckUtils]: 0: Hoare triple {12614#true} call ULTIMATE.init(); {12614#true} is VALID [2022-04-28 04:17:05,254 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 20 proven. 27 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 04:17:05,254 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:17:05,254 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [185820145] [2022-04-28 04:17:05,254 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:17:05,254 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1239960098] [2022-04-28 04:17:05,254 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1239960098] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:17:05,254 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:17:05,254 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-28 04:17:05,255 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:17:05,255 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [877218541] [2022-04-28 04:17:05,255 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [877218541] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:17:05,255 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:17:05,255 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 04:17:05,255 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1240002089] [2022-04-28 04:17:05,255 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:17:05,255 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 81 [2022-04-28 04:17:05,255 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:17:05,255 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 04:17:05,300 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:17:05,300 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 04:17:05,300 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:17:05,300 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 04:17:05,301 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-28 04:17:05,301 INFO L87 Difference]: Start difference. First operand 188 states and 228 transitions. Second operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 04:17:06,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:17:06,415 INFO L93 Difference]: Finished difference Result 222 states and 270 transitions. [2022-04-28 04:17:06,415 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 04:17:06,415 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 81 [2022-04-28 04:17:06,415 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:17:06,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 04:17:06,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-28 04:17:06,416 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 04:17:06,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-28 04:17:06,417 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 90 transitions. [2022-04-28 04:17:06,504 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:17:06,507 INFO L225 Difference]: With dead ends: 222 [2022-04-28 04:17:06,507 INFO L226 Difference]: Without dead ends: 220 [2022-04-28 04:17:06,507 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 150 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-04-28 04:17:06,508 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 8 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 276 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 200 SdHoareTripleChecker+Invalid, 285 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 276 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 04:17:06,508 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 200 Invalid, 285 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 276 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 04:17:06,508 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 220 states. [2022-04-28 04:17:06,668 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 220 to 216. [2022-04-28 04:17:06,668 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:17:06,669 INFO L82 GeneralOperation]: Start isEquivalent. First operand 220 states. Second operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:17:06,669 INFO L74 IsIncluded]: Start isIncluded. First operand 220 states. Second operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:17:06,670 INFO L87 Difference]: Start difference. First operand 220 states. Second operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:17:06,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:17:06,674 INFO L93 Difference]: Finished difference Result 220 states and 268 transitions. [2022-04-28 04:17:06,674 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 268 transitions. [2022-04-28 04:17:06,674 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:17:06,675 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:17:06,675 INFO L74 IsIncluded]: Start isIncluded. First operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) Second operand 220 states. [2022-04-28 04:17:06,675 INFO L87 Difference]: Start difference. First operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) Second operand 220 states. [2022-04-28 04:17:06,679 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:17:06,679 INFO L93 Difference]: Finished difference Result 220 states and 268 transitions. [2022-04-28 04:17:06,679 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 268 transitions. [2022-04-28 04:17:06,679 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:17:06,680 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:17:06,680 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:17:06,680 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:17:06,680 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 04:17:06,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 216 states to 216 states and 261 transitions. [2022-04-28 04:17:06,684 INFO L78 Accepts]: Start accepts. Automaton has 216 states and 261 transitions. Word has length 81 [2022-04-28 04:17:06,684 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:17:06,684 INFO L495 AbstractCegarLoop]: Abstraction has 216 states and 261 transitions. [2022-04-28 04:17:06,684 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 04:17:06,684 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 216 states and 261 transitions. [2022-04-28 04:17:07,066 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 261 edges. 261 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:17:07,066 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 261 transitions. [2022-04-28 04:17:07,067 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-28 04:17:07,067 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:17:07,067 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:17:07,083 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 04:17:07,271 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 04:17:07,271 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:17:07,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:17:07,272 INFO L85 PathProgramCache]: Analyzing trace with hash 1350517088, now seen corresponding path program 7 times [2022-04-28 04:17:07,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:17:07,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1346131627] [2022-04-28 04:17:07,272 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:17:07,272 INFO L85 PathProgramCache]: Analyzing trace with hash 1350517088, now seen corresponding path program 8 times [2022-04-28 04:17:07,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:17:07,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [125157965] [2022-04-28 04:17:07,273 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:17:07,273 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:17:07,281 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:17:07,281 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [291939565] [2022-04-28 04:17:07,281 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:17:07,281 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:17:07,281 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:17:07,282 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 04:17:07,283 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 04:17:07,324 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:17:07,324 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:17:07,325 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 04:17:07,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:17:07,341 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:17:14,472 INFO L272 TraceCheckUtils]: 0: Hoare triple {14429#true} call ULTIMATE.init(); {14429#true} is VALID [2022-04-28 04:17:14,473 INFO L290 TraceCheckUtils]: 1: Hoare triple {14429#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); {14429#true} is VALID [2022-04-28 04:17:14,473 INFO L290 TraceCheckUtils]: 2: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:17:14,473 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14429#true} {14429#true} #81#return; {14429#true} is VALID [2022-04-28 04:17:14,473 INFO L272 TraceCheckUtils]: 4: Hoare triple {14429#true} call #t~ret6 := main(); {14429#true} is VALID [2022-04-28 04:17:14,473 INFO L290 TraceCheckUtils]: 5: Hoare triple {14429#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14429#true} is VALID [2022-04-28 04:17:14,474 INFO L272 TraceCheckUtils]: 6: Hoare triple {14429#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14429#true} is VALID [2022-04-28 04:17:14,474 INFO L290 TraceCheckUtils]: 7: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:17:14,474 INFO L290 TraceCheckUtils]: 8: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:17:14,474 INFO L290 TraceCheckUtils]: 9: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:17:14,474 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14429#true} {14429#true} #63#return; {14429#true} is VALID [2022-04-28 04:17:14,474 INFO L272 TraceCheckUtils]: 11: Hoare triple {14429#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14429#true} is VALID [2022-04-28 04:17:14,474 INFO L290 TraceCheckUtils]: 12: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:17:14,474 INFO L290 TraceCheckUtils]: 13: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:17:14,474 INFO L290 TraceCheckUtils]: 14: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:17:14,474 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14429#true} {14429#true} #65#return; {14429#true} is VALID [2022-04-28 04:17:14,475 INFO L290 TraceCheckUtils]: 16: Hoare triple {14429#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:14,475 INFO L290 TraceCheckUtils]: 17: Hoare triple {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:14,475 INFO L272 TraceCheckUtils]: 18: Hoare triple {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= 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)); {14429#true} is VALID [2022-04-28 04:17:14,475 INFO L290 TraceCheckUtils]: 19: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:17:14,475 INFO L290 TraceCheckUtils]: 20: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:17:14,475 INFO L290 TraceCheckUtils]: 21: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:17:14,476 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {14429#true} {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #67#return; {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:14,476 INFO L272 TraceCheckUtils]: 23: Hoare triple {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= 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)); {14429#true} is VALID [2022-04-28 04:17:14,476 INFO L290 TraceCheckUtils]: 24: Hoare triple {14429#true} ~cond := #in~cond; {14507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:17:14,477 INFO L290 TraceCheckUtils]: 25: Hoare triple {14507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:17:14,477 INFO L290 TraceCheckUtils]: 26: Hoare triple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:17:14,478 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #69#return; {14518#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:14,478 INFO L272 TraceCheckUtils]: 28: Hoare triple {14518#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 04:17:14,478 INFO L290 TraceCheckUtils]: 29: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:17:14,478 INFO L290 TraceCheckUtils]: 30: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:17:14,478 INFO L290 TraceCheckUtils]: 31: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:17:14,479 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14429#true} {14518#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #71#return; {14518#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:14,479 INFO L290 TraceCheckUtils]: 33: Hoare triple {14518#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {14518#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:17:14,480 INFO L290 TraceCheckUtils]: 34: Hoare triple {14518#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= 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; {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:17:14,481 INFO L290 TraceCheckUtils]: 35: Hoare triple {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} assume !false; {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:17:14,481 INFO L272 TraceCheckUtils]: 36: Hoare triple {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 04:17:14,481 INFO L290 TraceCheckUtils]: 37: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:17:14,481 INFO L290 TraceCheckUtils]: 38: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:17:14,481 INFO L290 TraceCheckUtils]: 39: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:17:14,482 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {14429#true} {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #67#return; {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:17:14,482 INFO L272 TraceCheckUtils]: 41: Hoare triple {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 04:17:14,482 INFO L290 TraceCheckUtils]: 42: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:17:14,482 INFO L290 TraceCheckUtils]: 43: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:17:14,482 INFO L290 TraceCheckUtils]: 44: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:17:14,482 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14429#true} {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #69#return; {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:17:14,483 INFO L272 TraceCheckUtils]: 46: Hoare triple {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 04:17:14,483 INFO L290 TraceCheckUtils]: 47: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:17:14,483 INFO L290 TraceCheckUtils]: 48: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:17:14,483 INFO L290 TraceCheckUtils]: 49: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:17:14,483 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14429#true} {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #71#return; {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:17:14,484 INFO L290 TraceCheckUtils]: 51: Hoare triple {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:17:14,485 INFO L290 TraceCheckUtils]: 52: Hoare triple {14540#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 04:17:14,485 INFO L290 TraceCheckUtils]: 53: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !false; {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 04:17:14,486 INFO L272 TraceCheckUtils]: 54: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~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)); {14429#true} is VALID [2022-04-28 04:17:14,486 INFO L290 TraceCheckUtils]: 55: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:17:14,486 INFO L290 TraceCheckUtils]: 56: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:17:14,486 INFO L290 TraceCheckUtils]: 57: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:17:14,486 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {14429#true} {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #67#return; {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 04:17:14,486 INFO L272 TraceCheckUtils]: 59: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~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)); {14429#true} is VALID [2022-04-28 04:17:14,487 INFO L290 TraceCheckUtils]: 60: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:17:14,487 INFO L290 TraceCheckUtils]: 61: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:17:14,487 INFO L290 TraceCheckUtils]: 62: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:17:14,487 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {14429#true} {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #69#return; {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 04:17:14,487 INFO L272 TraceCheckUtils]: 64: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~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)); {14429#true} is VALID [2022-04-28 04:17:14,488 INFO L290 TraceCheckUtils]: 65: Hoare triple {14429#true} ~cond := #in~cond; {14507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:17:14,488 INFO L290 TraceCheckUtils]: 66: Hoare triple {14507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:17:14,488 INFO L290 TraceCheckUtils]: 67: Hoare triple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:17:14,489 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #71#return; {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 04:17:14,489 INFO L290 TraceCheckUtils]: 69: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-28 04:17:14,978 INFO L290 TraceCheckUtils]: 70: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~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; {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} is VALID [2022-04-28 04:17:14,979 INFO L290 TraceCheckUtils]: 71: Hoare triple {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} assume !false; {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} is VALID [2022-04-28 04:17:14,979 INFO L272 TraceCheckUtils]: 72: Hoare triple {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 04:17:14,980 INFO L290 TraceCheckUtils]: 73: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:17:14,980 INFO L290 TraceCheckUtils]: 74: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:17:14,980 INFO L290 TraceCheckUtils]: 75: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:17:14,980 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {14429#true} {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} #67#return; {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} is VALID [2022-04-28 04:17:15,134 INFO L272 TraceCheckUtils]: 77: Hoare triple {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14672#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:17:15,135 INFO L290 TraceCheckUtils]: 78: Hoare triple {14672#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14676#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:17:15,135 INFO L290 TraceCheckUtils]: 79: Hoare triple {14676#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14430#false} is VALID [2022-04-28 04:17:15,135 INFO L290 TraceCheckUtils]: 80: Hoare triple {14430#false} assume !false; {14430#false} is VALID [2022-04-28 04:17:15,136 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 42 proven. 53 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 04:17:15,136 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:18:07,776 INFO L290 TraceCheckUtils]: 80: Hoare triple {14430#false} assume !false; {14430#false} is VALID [2022-04-28 04:18:07,777 INFO L290 TraceCheckUtils]: 79: Hoare triple {14676#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14430#false} is VALID [2022-04-28 04:18:07,777 INFO L290 TraceCheckUtils]: 78: Hoare triple {14672#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14676#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:18:07,778 INFO L272 TraceCheckUtils]: 77: Hoare triple {14692#(= 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)); {14672#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:18:07,779 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {14429#true} {14692#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {14692#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:18:07,779 INFO L290 TraceCheckUtils]: 75: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:18:07,779 INFO L290 TraceCheckUtils]: 74: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:18:07,779 INFO L290 TraceCheckUtils]: 73: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:18:07,779 INFO L272 TraceCheckUtils]: 72: Hoare triple {14692#(= 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)); {14429#true} is VALID [2022-04-28 04:18:07,779 INFO L290 TraceCheckUtils]: 71: Hoare triple {14692#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {14692#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:18:07,881 INFO L290 TraceCheckUtils]: 70: Hoare triple {14714#(= (+ main_~a~0 (* (- 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; {14692#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:18:07,882 INFO L290 TraceCheckUtils]: 69: Hoare triple {14714#(= (+ main_~a~0 (* (- 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); {14714#(= (+ main_~a~0 (* (- 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 04:18:07,883 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} {14721#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #71#return; {14714#(= (+ main_~a~0 (* (- 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 04:18:07,883 INFO L290 TraceCheckUtils]: 67: Hoare triple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:07,883 INFO L290 TraceCheckUtils]: 66: Hoare triple {14731#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:07,884 INFO L290 TraceCheckUtils]: 65: Hoare triple {14429#true} ~cond := #in~cond; {14731#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:18:07,884 INFO L272 TraceCheckUtils]: 64: Hoare triple {14721#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 04:18:07,884 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {14429#true} {14721#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #69#return; {14721#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 04:18:07,885 INFO L290 TraceCheckUtils]: 62: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:18:07,885 INFO L290 TraceCheckUtils]: 61: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:18:07,885 INFO L290 TraceCheckUtils]: 60: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:18:07,885 INFO L272 TraceCheckUtils]: 59: Hoare triple {14721#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 04:18:07,885 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {14429#true} {14721#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #67#return; {14721#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 04:18:07,885 INFO L290 TraceCheckUtils]: 57: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:18:07,886 INFO L290 TraceCheckUtils]: 56: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:18:07,886 INFO L290 TraceCheckUtils]: 55: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:18:07,886 INFO L272 TraceCheckUtils]: 54: Hoare triple {14721#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 04:18:07,886 INFO L290 TraceCheckUtils]: 53: Hoare triple {14721#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {14721#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 04:18:07,915 INFO L290 TraceCheckUtils]: 52: Hoare triple {14771#(or (< 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; {14721#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 04:18:07,916 INFO L290 TraceCheckUtils]: 51: Hoare triple {14771#(or (< 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); {14771#(or (< 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 04:18:07,917 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14429#true} {14771#(or (< 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))))} #71#return; {14771#(or (< 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 04:18:07,917 INFO L290 TraceCheckUtils]: 49: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:18:07,917 INFO L290 TraceCheckUtils]: 48: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:18:07,917 INFO L290 TraceCheckUtils]: 47: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:18:07,917 INFO L272 TraceCheckUtils]: 46: Hoare triple {14771#(or (< 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)); {14429#true} is VALID [2022-04-28 04:18:07,922 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14429#true} {14771#(or (< 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))))} #69#return; {14771#(or (< 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 04:18:07,922 INFO L290 TraceCheckUtils]: 44: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:18:07,922 INFO L290 TraceCheckUtils]: 43: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:18:07,922 INFO L290 TraceCheckUtils]: 42: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:18:07,922 INFO L272 TraceCheckUtils]: 41: Hoare triple {14771#(or (< 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)); {14429#true} is VALID [2022-04-28 04:18:07,922 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {14429#true} {14771#(or (< 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))))} #67#return; {14771#(or (< 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 04:18:07,923 INFO L290 TraceCheckUtils]: 39: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:18:07,923 INFO L290 TraceCheckUtils]: 38: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:18:07,923 INFO L290 TraceCheckUtils]: 37: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:18:07,923 INFO L272 TraceCheckUtils]: 36: Hoare triple {14771#(or (< 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)); {14429#true} is VALID [2022-04-28 04:18:07,923 INFO L290 TraceCheckUtils]: 35: Hoare triple {14771#(or (< 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; {14771#(or (< 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 04:18:09,925 WARN L290 TraceCheckUtils]: 34: Hoare triple {14826#(or (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~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; {14771#(or (< 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 UNKNOWN [2022-04-28 04:18:09,926 INFO L290 TraceCheckUtils]: 33: Hoare triple {14826#(or (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} assume !!(~a~0 != ~b~0); {14826#(or (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} is VALID [2022-04-28 04:18:09,927 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14429#true} {14826#(or (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} #71#return; {14826#(or (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} is VALID [2022-04-28 04:18:09,927 INFO L290 TraceCheckUtils]: 31: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:18:09,927 INFO L290 TraceCheckUtils]: 30: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:18:09,927 INFO L290 TraceCheckUtils]: 29: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:18:09,927 INFO L272 TraceCheckUtils]: 28: Hoare triple {14826#(or (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 04:18:09,928 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} {14429#true} #69#return; {14826#(or (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ main_~b~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} is VALID [2022-04-28 04:18:09,929 INFO L290 TraceCheckUtils]: 26: Hoare triple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:09,929 INFO L290 TraceCheckUtils]: 25: Hoare triple {14731#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:09,929 INFO L290 TraceCheckUtils]: 24: Hoare triple {14429#true} ~cond := #in~cond; {14731#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:18:09,929 INFO L272 TraceCheckUtils]: 23: Hoare triple {14429#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 04:18:09,929 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {14429#true} {14429#true} #67#return; {14429#true} is VALID [2022-04-28 04:18:09,930 INFO L290 TraceCheckUtils]: 21: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:18:09,930 INFO L290 TraceCheckUtils]: 20: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:18:09,930 INFO L290 TraceCheckUtils]: 19: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:18:09,930 INFO L272 TraceCheckUtils]: 18: Hoare triple {14429#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14429#true} is VALID [2022-04-28 04:18:09,930 INFO L290 TraceCheckUtils]: 17: Hoare triple {14429#true} assume !false; {14429#true} is VALID [2022-04-28 04:18:09,930 INFO L290 TraceCheckUtils]: 16: Hoare triple {14429#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14429#true} is VALID [2022-04-28 04:18:09,930 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14429#true} {14429#true} #65#return; {14429#true} is VALID [2022-04-28 04:18:09,930 INFO L290 TraceCheckUtils]: 14: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:18:09,930 INFO L290 TraceCheckUtils]: 13: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:18:09,930 INFO L290 TraceCheckUtils]: 12: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:18:09,930 INFO L272 TraceCheckUtils]: 11: Hoare triple {14429#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14429#true} is VALID [2022-04-28 04:18:09,930 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14429#true} {14429#true} #63#return; {14429#true} is VALID [2022-04-28 04:18:09,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:18:09,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-28 04:18:09,930 INFO L290 TraceCheckUtils]: 7: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-28 04:18:09,931 INFO L272 TraceCheckUtils]: 6: Hoare triple {14429#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14429#true} is VALID [2022-04-28 04:18:09,931 INFO L290 TraceCheckUtils]: 5: Hoare triple {14429#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14429#true} is VALID [2022-04-28 04:18:09,931 INFO L272 TraceCheckUtils]: 4: Hoare triple {14429#true} call #t~ret6 := main(); {14429#true} is VALID [2022-04-28 04:18:09,931 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14429#true} {14429#true} #81#return; {14429#true} is VALID [2022-04-28 04:18:09,931 INFO L290 TraceCheckUtils]: 2: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-28 04:18:09,931 INFO L290 TraceCheckUtils]: 1: Hoare triple {14429#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); {14429#true} is VALID [2022-04-28 04:18:09,931 INFO L272 TraceCheckUtils]: 0: Hoare triple {14429#true} call ULTIMATE.init(); {14429#true} is VALID [2022-04-28 04:18:09,931 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 59 proven. 36 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 04:18:09,931 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:18:09,932 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [125157965] [2022-04-28 04:18:09,932 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:18:09,932 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [291939565] [2022-04-28 04:18:09,932 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [291939565] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:18:09,932 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:18:09,932 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 17 [2022-04-28 04:18:09,932 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:18:09,932 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1346131627] [2022-04-28 04:18:09,932 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1346131627] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:18:09,932 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:18:09,932 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 04:18:09,932 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1898611531] [2022-04-28 04:18:09,932 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:18:09,933 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 81 [2022-04-28 04:18:09,933 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:18:09,933 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 04:18:10,700 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:18:10,700 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 04:18:10,700 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:18:10,700 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 04:18:10,700 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2022-04-28 04:18:10,701 INFO L87 Difference]: Start difference. First operand 216 states and 261 transitions. Second operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 04:18:21,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:18:21,935 INFO L93 Difference]: Finished difference Result 257 states and 311 transitions. [2022-04-28 04:18:21,935 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 04:18:21,935 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 81 [2022-04-28 04:18:21,935 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:18:21,935 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 04:18:21,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 90 transitions. [2022-04-28 04:18:21,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 04:18:21,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 90 transitions. [2022-04-28 04:18:21,937 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 90 transitions. [2022-04-28 04:18:22,692 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:18:22,705 INFO L225 Difference]: With dead ends: 257 [2022-04-28 04:18:22,705 INFO L226 Difference]: Without dead ends: 255 [2022-04-28 04:18:22,705 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 144 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=75, Invalid=267, Unknown=0, NotChecked=0, Total=342 [2022-04-28 04:18:22,706 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 17 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 474 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 496 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 474 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:18:22,706 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 181 Invalid, 496 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 474 Invalid, 0 Unknown, 0 Unchecked, 5.9s Time] [2022-04-28 04:18:22,707 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 255 states. [2022-04-28 04:18:22,912 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 255 to 221. [2022-04-28 04:18:22,913 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:18:22,913 INFO L82 GeneralOperation]: Start isEquivalent. First operand 255 states. Second operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 04:18:22,913 INFO L74 IsIncluded]: Start isIncluded. First operand 255 states. Second operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 04:18:22,913 INFO L87 Difference]: Start difference. First operand 255 states. Second operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 04:18:22,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:18:22,918 INFO L93 Difference]: Finished difference Result 255 states and 309 transitions. [2022-04-28 04:18:22,918 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 309 transitions. [2022-04-28 04:18:22,919 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:18:22,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:18:22,919 INFO L74 IsIncluded]: Start isIncluded. First operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) Second operand 255 states. [2022-04-28 04:18:22,919 INFO L87 Difference]: Start difference. First operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) Second operand 255 states. [2022-04-28 04:18:22,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:18:22,923 INFO L93 Difference]: Finished difference Result 255 states and 309 transitions. [2022-04-28 04:18:22,923 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 309 transitions. [2022-04-28 04:18:22,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:18:22,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:18:22,924 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:18:22,924 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:18:22,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 04:18:22,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 221 states to 221 states and 261 transitions. [2022-04-28 04:18:22,928 INFO L78 Accepts]: Start accepts. Automaton has 221 states and 261 transitions. Word has length 81 [2022-04-28 04:18:22,928 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:18:22,928 INFO L495 AbstractCegarLoop]: Abstraction has 221 states and 261 transitions. [2022-04-28 04:18:22,928 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 04:18:22,928 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 221 states and 261 transitions. [2022-04-28 04:18:23,485 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 261 edges. 261 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:18:23,485 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 261 transitions. [2022-04-28 04:18:23,486 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-28 04:18:23,486 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:18:23,486 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:18:23,502 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-28 04:18:23,686 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 04:18:23,687 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:18:23,687 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:18:23,687 INFO L85 PathProgramCache]: Analyzing trace with hash -388774688, now seen corresponding path program 9 times [2022-04-28 04:18:23,687 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:18:23,687 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1833554675] [2022-04-28 04:18:23,687 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:18:23,687 INFO L85 PathProgramCache]: Analyzing trace with hash -388774688, now seen corresponding path program 10 times [2022-04-28 04:18:23,687 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:18:23,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1678213733] [2022-04-28 04:18:23,688 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:18:23,688 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:18:23,695 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:18:23,695 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [28922860] [2022-04-28 04:18:23,695 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:18:23,696 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:18:23,696 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:18:23,696 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 04:18:23,697 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 04:18:23,741 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:18:23,741 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:18:23,742 INFO L263 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-28 04:18:23,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:18:23,758 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:18:24,562 INFO L272 TraceCheckUtils]: 0: Hoare triple {16401#true} call ULTIMATE.init(); {16401#true} is VALID [2022-04-28 04:18:24,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {16401#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); {16401#true} is VALID [2022-04-28 04:18:24,563 INFO L290 TraceCheckUtils]: 2: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:18:24,563 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16401#true} {16401#true} #81#return; {16401#true} is VALID [2022-04-28 04:18:24,563 INFO L272 TraceCheckUtils]: 4: Hoare triple {16401#true} call #t~ret6 := main(); {16401#true} is VALID [2022-04-28 04:18:24,563 INFO L290 TraceCheckUtils]: 5: Hoare triple {16401#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16401#true} is VALID [2022-04-28 04:18:24,563 INFO L272 TraceCheckUtils]: 6: Hoare triple {16401#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:18:24,563 INFO L290 TraceCheckUtils]: 7: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:18:24,563 INFO L290 TraceCheckUtils]: 8: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:18:24,563 INFO L290 TraceCheckUtils]: 9: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:18:24,563 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16401#true} {16401#true} #63#return; {16401#true} is VALID [2022-04-28 04:18:24,563 INFO L272 TraceCheckUtils]: 11: Hoare triple {16401#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:18:24,563 INFO L290 TraceCheckUtils]: 12: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:18:24,563 INFO L290 TraceCheckUtils]: 13: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:18:24,564 INFO L290 TraceCheckUtils]: 14: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:18:24,564 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16401#true} {16401#true} #65#return; {16401#true} is VALID [2022-04-28 04:18:24,564 INFO L290 TraceCheckUtils]: 16: Hoare triple {16401#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:18:24,564 INFO L290 TraceCheckUtils]: 17: Hoare triple {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:18:24,564 INFO L272 TraceCheckUtils]: 18: Hoare triple {16454#(and (= main_~r~0 0) (= main_~s~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)); {16401#true} is VALID [2022-04-28 04:18:24,564 INFO L290 TraceCheckUtils]: 19: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:18:24,565 INFO L290 TraceCheckUtils]: 20: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:18:24,565 INFO L290 TraceCheckUtils]: 21: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:18:24,565 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {16401#true} {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #67#return; {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:18:24,565 INFO L272 TraceCheckUtils]: 23: Hoare triple {16454#(and (= main_~r~0 0) (= main_~s~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)); {16401#true} is VALID [2022-04-28 04:18:24,565 INFO L290 TraceCheckUtils]: 24: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:18:24,565 INFO L290 TraceCheckUtils]: 25: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:18:24,565 INFO L290 TraceCheckUtils]: 26: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:18:24,566 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {16401#true} {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #69#return; {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:18:24,566 INFO L272 TraceCheckUtils]: 28: Hoare triple {16454#(and (= main_~r~0 0) (= main_~s~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)); {16401#true} is VALID [2022-04-28 04:18:24,566 INFO L290 TraceCheckUtils]: 29: Hoare triple {16401#true} ~cond := #in~cond; {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:18:24,567 INFO L290 TraceCheckUtils]: 30: Hoare triple {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:24,567 INFO L290 TraceCheckUtils]: 31: Hoare triple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:24,568 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #71#return; {16505#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:18:24,568 INFO L290 TraceCheckUtils]: 33: Hoare triple {16505#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16505#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:18:24,569 INFO L290 TraceCheckUtils]: 34: Hoare triple {16505#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 04:18:24,569 INFO L290 TraceCheckUtils]: 35: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume !false; {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 04:18:24,569 INFO L272 TraceCheckUtils]: 36: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:18:24,569 INFO L290 TraceCheckUtils]: 37: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:18:24,570 INFO L290 TraceCheckUtils]: 38: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:18:24,570 INFO L290 TraceCheckUtils]: 39: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:18:24,570 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {16401#true} {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #67#return; {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 04:18:24,570 INFO L272 TraceCheckUtils]: 41: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:18:24,570 INFO L290 TraceCheckUtils]: 42: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:18:24,570 INFO L290 TraceCheckUtils]: 43: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:18:24,570 INFO L290 TraceCheckUtils]: 44: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:18:24,571 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16401#true} {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #69#return; {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 04:18:24,571 INFO L272 TraceCheckUtils]: 46: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:18:24,571 INFO L290 TraceCheckUtils]: 47: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:18:24,571 INFO L290 TraceCheckUtils]: 48: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:18:24,571 INFO L290 TraceCheckUtils]: 49: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:18:24,572 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16401#true} {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #71#return; {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 04:18:24,572 INFO L290 TraceCheckUtils]: 51: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume !!(~a~0 != ~b~0); {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-28 04:18:24,573 INFO L290 TraceCheckUtils]: 52: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:18:24,574 INFO L290 TraceCheckUtils]: 53: Hoare triple {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:18:24,574 INFO L272 TraceCheckUtils]: 54: Hoare triple {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:18:24,574 INFO L290 TraceCheckUtils]: 55: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:18:24,574 INFO L290 TraceCheckUtils]: 56: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:18:24,574 INFO L290 TraceCheckUtils]: 57: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:18:24,574 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {16401#true} {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #67#return; {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:18:24,575 INFO L272 TraceCheckUtils]: 59: Hoare triple {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:18:24,575 INFO L290 TraceCheckUtils]: 60: Hoare triple {16401#true} ~cond := #in~cond; {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:18:24,575 INFO L290 TraceCheckUtils]: 61: Hoare triple {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:24,575 INFO L290 TraceCheckUtils]: 62: Hoare triple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:24,576 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #69#return; {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:18:24,576 INFO L272 TraceCheckUtils]: 64: Hoare triple {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:18:24,576 INFO L290 TraceCheckUtils]: 65: Hoare triple {16401#true} ~cond := #in~cond; {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:18:24,577 INFO L290 TraceCheckUtils]: 66: Hoare triple {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:24,577 INFO L290 TraceCheckUtils]: 67: Hoare triple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:18:24,578 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #71#return; {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:18:24,578 INFO L290 TraceCheckUtils]: 69: Hoare triple {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:18:24,582 INFO L290 TraceCheckUtils]: 70: Hoare triple {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} is VALID [2022-04-28 04:18:24,582 INFO L290 TraceCheckUtils]: 71: Hoare triple {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} assume !false; {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} is VALID [2022-04-28 04:18:24,582 INFO L272 TraceCheckUtils]: 72: Hoare triple {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:18:24,582 INFO L290 TraceCheckUtils]: 73: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:18:24,582 INFO L290 TraceCheckUtils]: 74: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:18:24,582 INFO L290 TraceCheckUtils]: 75: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:18:24,583 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {16401#true} {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} #67#return; {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} is VALID [2022-04-28 04:18:24,587 INFO L272 TraceCheckUtils]: 77: Hoare triple {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16645#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:18:24,588 INFO L290 TraceCheckUtils]: 78: Hoare triple {16645#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16649#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:18:24,588 INFO L290 TraceCheckUtils]: 79: Hoare triple {16649#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16402#false} is VALID [2022-04-28 04:18:24,588 INFO L290 TraceCheckUtils]: 80: Hoare triple {16402#false} assume !false; {16402#false} is VALID [2022-04-28 04:18:24,588 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 59 proven. 51 refuted. 0 times theorem prover too weak. 121 trivial. 0 not checked. [2022-04-28 04:18:24,588 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:19:06,136 INFO L290 TraceCheckUtils]: 80: Hoare triple {16402#false} assume !false; {16402#false} is VALID [2022-04-28 04:19:06,137 INFO L290 TraceCheckUtils]: 79: Hoare triple {16649#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16402#false} is VALID [2022-04-28 04:19:06,137 INFO L290 TraceCheckUtils]: 78: Hoare triple {16645#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16649#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:19:06,138 INFO L272 TraceCheckUtils]: 77: Hoare triple {16665#(= 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)); {16645#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:19:06,138 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {16401#true} {16665#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {16665#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:19:06,138 INFO L290 TraceCheckUtils]: 75: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:19:06,138 INFO L290 TraceCheckUtils]: 74: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:19:06,138 INFO L290 TraceCheckUtils]: 73: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:19:06,138 INFO L272 TraceCheckUtils]: 72: Hoare triple {16665#(= 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)); {16401#true} is VALID [2022-04-28 04:19:06,139 INFO L290 TraceCheckUtils]: 71: Hoare triple {16665#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {16665#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:19:06,315 INFO L290 TraceCheckUtils]: 70: Hoare triple {16687#(= (+ main_~a~0 (* (- 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; {16665#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:19:06,315 INFO L290 TraceCheckUtils]: 69: Hoare triple {16687#(= (+ main_~a~0 (* (- 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); {16687#(= (+ main_~a~0 (* (- 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 04:19:06,316 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} {16694#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #71#return; {16687#(= (+ main_~a~0 (* (- 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 04:19:06,317 INFO L290 TraceCheckUtils]: 67: Hoare triple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:06,317 INFO L290 TraceCheckUtils]: 66: Hoare triple {16704#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:06,317 INFO L290 TraceCheckUtils]: 65: Hoare triple {16401#true} ~cond := #in~cond; {16704#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:19:06,317 INFO L272 TraceCheckUtils]: 64: Hoare triple {16694#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:19:06,318 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} {16401#true} #69#return; {16694#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 04:19:06,319 INFO L290 TraceCheckUtils]: 62: Hoare triple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:06,319 INFO L290 TraceCheckUtils]: 61: Hoare triple {16704#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:06,319 INFO L290 TraceCheckUtils]: 60: Hoare triple {16401#true} ~cond := #in~cond; {16704#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:19:06,319 INFO L272 TraceCheckUtils]: 59: Hoare triple {16401#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:19:06,319 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {16401#true} {16401#true} #67#return; {16401#true} is VALID [2022-04-28 04:19:06,319 INFO L290 TraceCheckUtils]: 57: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:19:06,320 INFO L290 TraceCheckUtils]: 56: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:19:06,320 INFO L290 TraceCheckUtils]: 55: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:19:06,320 INFO L272 TraceCheckUtils]: 54: Hoare triple {16401#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:19:06,320 INFO L290 TraceCheckUtils]: 53: Hoare triple {16401#true} assume !false; {16401#true} is VALID [2022-04-28 04:19:06,320 INFO L290 TraceCheckUtils]: 52: Hoare triple {16401#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {16401#true} is VALID [2022-04-28 04:19:06,320 INFO L290 TraceCheckUtils]: 51: Hoare triple {16401#true} assume !!(~a~0 != ~b~0); {16401#true} is VALID [2022-04-28 04:19:06,320 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16401#true} {16401#true} #71#return; {16401#true} is VALID [2022-04-28 04:19:06,320 INFO L290 TraceCheckUtils]: 49: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:19:06,320 INFO L290 TraceCheckUtils]: 48: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:19:06,320 INFO L290 TraceCheckUtils]: 47: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:19:06,320 INFO L272 TraceCheckUtils]: 46: Hoare triple {16401#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:19:06,320 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16401#true} {16401#true} #69#return; {16401#true} is VALID [2022-04-28 04:19:06,320 INFO L290 TraceCheckUtils]: 44: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:19:06,320 INFO L290 TraceCheckUtils]: 43: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:19:06,320 INFO L290 TraceCheckUtils]: 42: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:19:06,321 INFO L272 TraceCheckUtils]: 41: Hoare triple {16401#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:19:06,321 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {16401#true} {16401#true} #67#return; {16401#true} is VALID [2022-04-28 04:19:06,321 INFO L290 TraceCheckUtils]: 39: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:19:06,321 INFO L290 TraceCheckUtils]: 38: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:19:06,321 INFO L290 TraceCheckUtils]: 37: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:19:06,321 INFO L272 TraceCheckUtils]: 36: Hoare triple {16401#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:19:06,321 INFO L290 TraceCheckUtils]: 35: Hoare triple {16401#true} assume !false; {16401#true} is VALID [2022-04-28 04:19:06,321 INFO L290 TraceCheckUtils]: 34: Hoare triple {16401#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {16401#true} is VALID [2022-04-28 04:19:06,321 INFO L290 TraceCheckUtils]: 33: Hoare triple {16401#true} assume !!(~a~0 != ~b~0); {16401#true} is VALID [2022-04-28 04:19:06,321 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16401#true} {16401#true} #71#return; {16401#true} is VALID [2022-04-28 04:19:06,321 INFO L290 TraceCheckUtils]: 31: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:19:06,321 INFO L290 TraceCheckUtils]: 30: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:19:06,321 INFO L290 TraceCheckUtils]: 29: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:19:06,321 INFO L272 TraceCheckUtils]: 28: Hoare triple {16401#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:19:06,322 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {16401#true} {16401#true} #69#return; {16401#true} is VALID [2022-04-28 04:19:06,322 INFO L290 TraceCheckUtils]: 26: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:19:06,322 INFO L290 TraceCheckUtils]: 25: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:19:06,322 INFO L290 TraceCheckUtils]: 24: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:19:06,322 INFO L272 TraceCheckUtils]: 23: Hoare triple {16401#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:19:06,322 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {16401#true} {16401#true} #67#return; {16401#true} is VALID [2022-04-28 04:19:06,322 INFO L290 TraceCheckUtils]: 21: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:19:06,322 INFO L290 TraceCheckUtils]: 20: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:19:06,322 INFO L290 TraceCheckUtils]: 19: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:19:06,322 INFO L272 TraceCheckUtils]: 18: Hoare triple {16401#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:19:06,322 INFO L290 TraceCheckUtils]: 17: Hoare triple {16401#true} assume !false; {16401#true} is VALID [2022-04-28 04:19:06,322 INFO L290 TraceCheckUtils]: 16: Hoare triple {16401#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16401#true} is VALID [2022-04-28 04:19:06,322 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16401#true} {16401#true} #65#return; {16401#true} is VALID [2022-04-28 04:19:06,322 INFO L290 TraceCheckUtils]: 14: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:19:06,323 INFO L290 TraceCheckUtils]: 13: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:19:06,323 INFO L290 TraceCheckUtils]: 12: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:19:06,323 INFO L272 TraceCheckUtils]: 11: Hoare triple {16401#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:19:06,323 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16401#true} {16401#true} #63#return; {16401#true} is VALID [2022-04-28 04:19:06,323 INFO L290 TraceCheckUtils]: 9: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:19:06,323 INFO L290 TraceCheckUtils]: 8: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-28 04:19:06,323 INFO L290 TraceCheckUtils]: 7: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-28 04:19:06,323 INFO L272 TraceCheckUtils]: 6: Hoare triple {16401#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16401#true} is VALID [2022-04-28 04:19:06,323 INFO L290 TraceCheckUtils]: 5: Hoare triple {16401#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16401#true} is VALID [2022-04-28 04:19:06,323 INFO L272 TraceCheckUtils]: 4: Hoare triple {16401#true} call #t~ret6 := main(); {16401#true} is VALID [2022-04-28 04:19:06,323 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16401#true} {16401#true} #81#return; {16401#true} is VALID [2022-04-28 04:19:06,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-28 04:19:06,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {16401#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); {16401#true} is VALID [2022-04-28 04:19:06,323 INFO L272 TraceCheckUtils]: 0: Hoare triple {16401#true} call ULTIMATE.init(); {16401#true} is VALID [2022-04-28 04:19:06,324 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 75 proven. 8 refuted. 0 times theorem prover too weak. 148 trivial. 0 not checked. [2022-04-28 04:19:06,324 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:19:06,324 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1678213733] [2022-04-28 04:19:06,324 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:19:06,324 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [28922860] [2022-04-28 04:19:06,324 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [28922860] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:19:06,324 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:19:06,324 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-28 04:19:06,324 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:19:06,324 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1833554675] [2022-04-28 04:19:06,325 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1833554675] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:19:06,325 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:19:06,325 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 04:19:06,325 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1347409933] [2022-04-28 04:19:06,325 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:19:06,325 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) Word has length 81 [2022-04-28 04:19:06,325 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:19:06,325 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 04:19:06,379 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:19:06,379 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 04:19:06,380 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:19:06,380 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 04:19:06,380 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=196, Unknown=0, NotChecked=0, Total=240 [2022-04-28 04:19:06,380 INFO L87 Difference]: Start difference. First operand 221 states and 261 transitions. Second operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 04:19:08,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:19:08,823 INFO L93 Difference]: Finished difference Result 261 states and 313 transitions. [2022-04-28 04:19:08,823 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 04:19:08,824 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) Word has length 81 [2022-04-28 04:19:08,824 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:19:08,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 04:19:08,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 90 transitions. [2022-04-28 04:19:08,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 04:19:08,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 90 transitions. [2022-04-28 04:19:08,826 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 90 transitions. [2022-04-28 04:19:08,938 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:19:08,942 INFO L225 Difference]: With dead ends: 261 [2022-04-28 04:19:08,942 INFO L226 Difference]: Without dead ends: 259 [2022-04-28 04:19:08,942 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 145 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=57, Invalid=249, Unknown=0, NotChecked=0, Total=306 [2022-04-28 04:19:08,943 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 16 mSDsluCounter, 171 mSDsCounter, 0 mSdLazyCounter, 545 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 557 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 545 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:19:08,943 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 214 Invalid, 557 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 545 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 04:19:08,944 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 259 states. [2022-04-28 04:19:09,186 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 259 to 223. [2022-04-28 04:19:09,186 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:19:09,187 INFO L82 GeneralOperation]: Start isEquivalent. First operand 259 states. Second operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 04:19:09,187 INFO L74 IsIncluded]: Start isIncluded. First operand 259 states. Second operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 04:19:09,187 INFO L87 Difference]: Start difference. First operand 259 states. Second operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 04:19:09,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:19:09,195 INFO L93 Difference]: Finished difference Result 259 states and 311 transitions. [2022-04-28 04:19:09,195 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 311 transitions. [2022-04-28 04:19:09,195 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:19:09,195 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:19:09,196 INFO L74 IsIncluded]: Start isIncluded. First operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) Second operand 259 states. [2022-04-28 04:19:09,196 INFO L87 Difference]: Start difference. First operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) Second operand 259 states. [2022-04-28 04:19:09,200 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:19:09,200 INFO L93 Difference]: Finished difference Result 259 states and 311 transitions. [2022-04-28 04:19:09,200 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 311 transitions. [2022-04-28 04:19:09,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:19:09,201 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:19:09,201 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:19:09,201 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:19:09,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 04:19:09,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 223 states to 223 states and 264 transitions. [2022-04-28 04:19:09,205 INFO L78 Accepts]: Start accepts. Automaton has 223 states and 264 transitions. Word has length 81 [2022-04-28 04:19:09,205 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:19:09,205 INFO L495 AbstractCegarLoop]: Abstraction has 223 states and 264 transitions. [2022-04-28 04:19:09,205 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 04:19:09,206 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 223 states and 264 transitions. [2022-04-28 04:19:09,804 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 264 edges. 264 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:19:09,804 INFO L276 IsEmpty]: Start isEmpty. Operand 223 states and 264 transitions. [2022-04-28 04:19:09,804 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-28 04:19:09,805 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:19:09,805 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:19:09,821 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Ended with exit code 0 [2022-04-28 04:19:10,019 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 04:19:10,019 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:19:10,020 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:19:10,020 INFO L85 PathProgramCache]: Analyzing trace with hash 997428706, now seen corresponding path program 11 times [2022-04-28 04:19:10,020 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:19:10,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [429898698] [2022-04-28 04:19:10,020 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:19:10,020 INFO L85 PathProgramCache]: Analyzing trace with hash 997428706, now seen corresponding path program 12 times [2022-04-28 04:19:10,021 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:19:10,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1909598886] [2022-04-28 04:19:10,021 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:19:10,021 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:19:10,030 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:19:10,031 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [122687855] [2022-04-28 04:19:10,031 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:19:10,031 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:19:10,031 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:19:10,032 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:19:10,033 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 04:19:10,094 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 04:19:10,094 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:19:10,095 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 04:19:10,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:19:10,122 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:19:10,479 INFO L272 TraceCheckUtils]: 0: Hoare triple {18392#true} call ULTIMATE.init(); {18392#true} is VALID [2022-04-28 04:19:10,480 INFO L290 TraceCheckUtils]: 1: Hoare triple {18392#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); {18392#true} is VALID [2022-04-28 04:19:10,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 04:19:10,480 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18392#true} {18392#true} #81#return; {18392#true} is VALID [2022-04-28 04:19:10,480 INFO L272 TraceCheckUtils]: 4: Hoare triple {18392#true} call #t~ret6 := main(); {18392#true} is VALID [2022-04-28 04:19:10,480 INFO L290 TraceCheckUtils]: 5: Hoare triple {18392#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18392#true} is VALID [2022-04-28 04:19:10,480 INFO L272 TraceCheckUtils]: 6: Hoare triple {18392#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18392#true} is VALID [2022-04-28 04:19:10,480 INFO L290 TraceCheckUtils]: 7: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 04:19:10,480 INFO L290 TraceCheckUtils]: 8: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 04:19:10,480 INFO L290 TraceCheckUtils]: 9: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 04:19:10,480 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18392#true} {18392#true} #63#return; {18392#true} is VALID [2022-04-28 04:19:10,480 INFO L272 TraceCheckUtils]: 11: Hoare triple {18392#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18392#true} is VALID [2022-04-28 04:19:10,480 INFO L290 TraceCheckUtils]: 12: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 04:19:10,480 INFO L290 TraceCheckUtils]: 13: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 04:19:10,480 INFO L290 TraceCheckUtils]: 14: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 04:19:10,481 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18392#true} {18392#true} #65#return; {18392#true} is VALID [2022-04-28 04:19:10,481 INFO L290 TraceCheckUtils]: 16: Hoare triple {18392#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,481 INFO L290 TraceCheckUtils]: 17: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,481 INFO L272 TraceCheckUtils]: 18: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-28 04:19:10,481 INFO L290 TraceCheckUtils]: 19: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 04:19:10,481 INFO L290 TraceCheckUtils]: 20: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 04:19:10,482 INFO L290 TraceCheckUtils]: 21: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 04:19:10,482 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,482 INFO L272 TraceCheckUtils]: 23: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-28 04:19:10,482 INFO L290 TraceCheckUtils]: 24: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 04:19:10,482 INFO L290 TraceCheckUtils]: 25: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 04:19:10,482 INFO L290 TraceCheckUtils]: 26: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 04:19:10,483 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,483 INFO L272 TraceCheckUtils]: 28: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18392#true} is VALID [2022-04-28 04:19:10,483 INFO L290 TraceCheckUtils]: 29: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 04:19:10,483 INFO L290 TraceCheckUtils]: 30: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 04:19:10,483 INFO L290 TraceCheckUtils]: 31: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 04:19:10,484 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,484 INFO L290 TraceCheckUtils]: 33: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,484 INFO L290 TraceCheckUtils]: 34: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,485 INFO L290 TraceCheckUtils]: 35: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,485 INFO L272 TraceCheckUtils]: 36: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-28 04:19:10,485 INFO L290 TraceCheckUtils]: 37: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 04:19:10,485 INFO L290 TraceCheckUtils]: 38: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 04:19:10,485 INFO L290 TraceCheckUtils]: 39: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 04:19:10,486 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,486 INFO L272 TraceCheckUtils]: 41: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-28 04:19:10,486 INFO L290 TraceCheckUtils]: 42: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 04:19:10,486 INFO L290 TraceCheckUtils]: 43: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 04:19:10,486 INFO L290 TraceCheckUtils]: 44: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 04:19:10,486 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,486 INFO L272 TraceCheckUtils]: 46: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18392#true} is VALID [2022-04-28 04:19:10,486 INFO L290 TraceCheckUtils]: 47: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 04:19:10,487 INFO L290 TraceCheckUtils]: 48: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 04:19:10,487 INFO L290 TraceCheckUtils]: 49: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 04:19:10,487 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,487 INFO L290 TraceCheckUtils]: 51: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,488 INFO L290 TraceCheckUtils]: 52: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,488 INFO L290 TraceCheckUtils]: 53: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,488 INFO L272 TraceCheckUtils]: 54: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-28 04:19:10,488 INFO L290 TraceCheckUtils]: 55: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 04:19:10,488 INFO L290 TraceCheckUtils]: 56: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 04:19:10,489 INFO L290 TraceCheckUtils]: 57: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 04:19:10,489 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,489 INFO L272 TraceCheckUtils]: 59: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-28 04:19:10,489 INFO L290 TraceCheckUtils]: 60: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-28 04:19:10,489 INFO L290 TraceCheckUtils]: 61: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-28 04:19:10,489 INFO L290 TraceCheckUtils]: 62: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-28 04:19:10,490 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,490 INFO L272 TraceCheckUtils]: 64: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18392#true} is VALID [2022-04-28 04:19:10,490 INFO L290 TraceCheckUtils]: 65: Hoare triple {18392#true} ~cond := #in~cond; {18593#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:19:10,490 INFO L290 TraceCheckUtils]: 66: Hoare triple {18593#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:10,491 INFO L290 TraceCheckUtils]: 67: Hoare triple {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:10,491 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {18604#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,492 INFO L290 TraceCheckUtils]: 69: Hoare triple {18604#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {18604#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:19:10,493 INFO L290 TraceCheckUtils]: 70: Hoare triple {18604#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {18611#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))))} is VALID [2022-04-28 04:19:10,493 INFO L290 TraceCheckUtils]: 71: Hoare triple {18611#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))))} assume !false; {18611#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))))} is VALID [2022-04-28 04:19:10,493 INFO L272 TraceCheckUtils]: 72: Hoare triple {18611#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18392#true} is VALID [2022-04-28 04:19:10,493 INFO L290 TraceCheckUtils]: 73: Hoare triple {18392#true} ~cond := #in~cond; {18593#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:19:10,494 INFO L290 TraceCheckUtils]: 74: Hoare triple {18593#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:10,494 INFO L290 TraceCheckUtils]: 75: Hoare triple {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:19:10,497 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} {18611#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))))} #67#return; {18630#(and (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1)) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~x~0)))} is VALID [2022-04-28 04:19:10,497 INFO L272 TraceCheckUtils]: 77: Hoare triple {18630#(and (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1)) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18634#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:19:10,498 INFO L290 TraceCheckUtils]: 78: Hoare triple {18634#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18638#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:19:10,498 INFO L290 TraceCheckUtils]: 79: Hoare triple {18638#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18393#false} is VALID [2022-04-28 04:19:10,498 INFO L290 TraceCheckUtils]: 80: Hoare triple {18393#false} assume !false; {18393#false} is VALID [2022-04-28 04:19:10,498 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 70 proven. 11 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-28 04:19:10,498 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:21:39,096 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:21:39,096 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1909598886] [2022-04-28 04:21:39,096 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:21:39,096 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [122687855] [2022-04-28 04:21:39,096 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [122687855] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:21:39,096 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 04:21:39,100 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-28 04:21:39,101 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:21:39,101 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [429898698] [2022-04-28 04:21:39,101 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [429898698] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:21:39,101 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:21:39,101 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 04:21:39,101 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1519685840] [2022-04-28 04:21:39,101 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:21:39,101 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 81 [2022-04-28 04:21:39,101 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:21:39,102 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 04:21:39,139 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 04:21:39,139 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 04:21:39,140 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:21:39,140 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 04:21:39,140 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=162, Unknown=1, NotChecked=0, Total=210 [2022-04-28 04:21:39,140 INFO L87 Difference]: Start difference. First operand 223 states and 264 transitions. Second operand has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 04:21:41,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:21:41,139 INFO L93 Difference]: Finished difference Result 282 states and 346 transitions. [2022-04-28 04:21:41,139 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 04:21:41,139 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 81 [2022-04-28 04:21:41,140 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:21:41,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 04:21:41,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-28 04:21:41,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 04:21:41,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-28 04:21:41,142 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-28 04:21:41,308 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:21:41,313 INFO L225 Difference]: With dead ends: 282 [2022-04-28 04:21:41,313 INFO L226 Difference]: Without dead ends: 276 [2022-04-28 04:21:41,314 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 96 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=67, Invalid=238, Unknown=1, NotChecked=0, Total=306 [2022-04-28 04:21:41,315 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 19 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 405 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 171 SdHoareTripleChecker+Invalid, 427 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 405 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:21:41,315 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 171 Invalid, 427 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 405 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:21:41,316 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 276 states. [2022-04-28 04:21:41,507 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 276 to 233. [2022-04-28 04:21:41,507 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:21:41,508 INFO L82 GeneralOperation]: Start isEquivalent. First operand 276 states. Second operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-28 04:21:41,508 INFO L74 IsIncluded]: Start isIncluded. First operand 276 states. Second operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-28 04:21:41,508 INFO L87 Difference]: Start difference. First operand 276 states. Second operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-28 04:21:41,514 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:21:41,514 INFO L93 Difference]: Finished difference Result 276 states and 336 transitions. [2022-04-28 04:21:41,514 INFO L276 IsEmpty]: Start isEmpty. Operand 276 states and 336 transitions. [2022-04-28 04:21:41,515 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:21:41,515 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:21:41,516 INFO L74 IsIncluded]: Start isIncluded. First operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) Second operand 276 states. [2022-04-28 04:21:41,516 INFO L87 Difference]: Start difference. First operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) Second operand 276 states. [2022-04-28 04:21:41,521 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:21:41,522 INFO L93 Difference]: Finished difference Result 276 states and 336 transitions. [2022-04-28 04:21:41,522 INFO L276 IsEmpty]: Start isEmpty. Operand 276 states and 336 transitions. [2022-04-28 04:21:41,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:21:41,522 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:21:41,522 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:21:41,522 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:21:41,523 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-28 04:21:41,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 233 states to 233 states and 273 transitions. [2022-04-28 04:21:41,528 INFO L78 Accepts]: Start accepts. Automaton has 233 states and 273 transitions. Word has length 81 [2022-04-28 04:21:41,528 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:21:41,528 INFO L495 AbstractCegarLoop]: Abstraction has 233 states and 273 transitions. [2022-04-28 04:21:41,528 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 04:21:41,528 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 233 states and 273 transitions. [2022-04-28 04:21:42,622 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 273 edges. 273 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:21:42,623 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 273 transitions. [2022-04-28 04:21:42,629 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 04:21:42,630 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:21:42,630 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:21:42,647 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Ended with exit code 0 [2022-04-28 04:21:42,847 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 04:21:42,847 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:21:42,847 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:21:42,848 INFO L85 PathProgramCache]: Analyzing trace with hash 327884660, now seen corresponding path program 13 times [2022-04-28 04:21:42,848 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:21:42,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [818090629] [2022-04-28 04:21:42,848 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:21:42,848 INFO L85 PathProgramCache]: Analyzing trace with hash 327884660, now seen corresponding path program 14 times [2022-04-28 04:21:42,848 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:21:42,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [115259152] [2022-04-28 04:21:42,848 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:21:42,848 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:21:42,856 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:21:42,856 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1192660181] [2022-04-28 04:21:42,856 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:21:42,856 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:21:42,857 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:21:42,857 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:21:42,858 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 04:21:42,907 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:21:42,907 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:21:42,908 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 04:21:42,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:21:42,922 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:21:43,877 INFO L272 TraceCheckUtils]: 0: Hoare triple {20330#true} call ULTIMATE.init(); {20330#true} is VALID [2022-04-28 04:21:43,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {20330#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); {20330#true} is VALID [2022-04-28 04:21:43,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:43,877 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20330#true} {20330#true} #81#return; {20330#true} is VALID [2022-04-28 04:21:43,877 INFO L272 TraceCheckUtils]: 4: Hoare triple {20330#true} call #t~ret6 := main(); {20330#true} is VALID [2022-04-28 04:21:43,877 INFO L290 TraceCheckUtils]: 5: Hoare triple {20330#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20330#true} is VALID [2022-04-28 04:21:43,877 INFO L272 TraceCheckUtils]: 6: Hoare triple {20330#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:43,877 INFO L290 TraceCheckUtils]: 7: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:43,877 INFO L290 TraceCheckUtils]: 8: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:43,877 INFO L290 TraceCheckUtils]: 9: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:43,877 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20330#true} {20330#true} #63#return; {20330#true} is VALID [2022-04-28 04:21:43,878 INFO L272 TraceCheckUtils]: 11: Hoare triple {20330#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:43,878 INFO L290 TraceCheckUtils]: 12: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:43,878 INFO L290 TraceCheckUtils]: 13: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:43,878 INFO L290 TraceCheckUtils]: 14: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:43,878 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20330#true} {20330#true} #65#return; {20330#true} is VALID [2022-04-28 04:21:43,878 INFO L290 TraceCheckUtils]: 16: Hoare triple {20330#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {20383#(and (= 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 04:21:43,879 INFO L290 TraceCheckUtils]: 17: Hoare triple {20383#(and (= 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; {20383#(and (= 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 04:21:43,879 INFO L272 TraceCheckUtils]: 18: Hoare triple {20383#(and (= 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)); {20330#true} is VALID [2022-04-28 04:21:43,879 INFO L290 TraceCheckUtils]: 19: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:43,879 INFO L290 TraceCheckUtils]: 20: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:43,879 INFO L290 TraceCheckUtils]: 21: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:43,879 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {20330#true} {20383#(and (= 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))} #67#return; {20383#(and (= 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 04:21:43,880 INFO L272 TraceCheckUtils]: 23: Hoare triple {20383#(and (= 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)); {20330#true} is VALID [2022-04-28 04:21:43,880 INFO L290 TraceCheckUtils]: 24: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:43,880 INFO L290 TraceCheckUtils]: 25: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:43,880 INFO L290 TraceCheckUtils]: 26: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:43,880 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {20330#true} {20383#(and (= 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))} #69#return; {20383#(and (= 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 04:21:43,880 INFO L272 TraceCheckUtils]: 28: Hoare triple {20383#(and (= 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)); {20330#true} is VALID [2022-04-28 04:21:43,880 INFO L290 TraceCheckUtils]: 29: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:43,881 INFO L290 TraceCheckUtils]: 30: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:43,881 INFO L290 TraceCheckUtils]: 31: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:43,881 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20330#true} {20383#(and (= 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))} #71#return; {20383#(and (= 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 04:21:43,882 INFO L290 TraceCheckUtils]: 33: Hoare triple {20383#(and (= 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); {20383#(and (= 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 04:21:43,882 INFO L290 TraceCheckUtils]: 34: Hoare triple {20383#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:21:43,882 INFO L290 TraceCheckUtils]: 35: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:21:43,883 INFO L272 TraceCheckUtils]: 36: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= 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)); {20330#true} is VALID [2022-04-28 04:21:43,883 INFO L290 TraceCheckUtils]: 37: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:43,883 INFO L290 TraceCheckUtils]: 38: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:43,883 INFO L290 TraceCheckUtils]: 39: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:43,886 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {20330#true} {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #67#return; {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:21:43,886 INFO L272 TraceCheckUtils]: 41: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= 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)); {20330#true} is VALID [2022-04-28 04:21:43,886 INFO L290 TraceCheckUtils]: 42: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:43,886 INFO L290 TraceCheckUtils]: 43: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:43,887 INFO L290 TraceCheckUtils]: 44: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:43,887 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {20330#true} {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #69#return; {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:21:43,887 INFO L272 TraceCheckUtils]: 46: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~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)); {20330#true} is VALID [2022-04-28 04:21:43,887 INFO L290 TraceCheckUtils]: 47: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:43,887 INFO L290 TraceCheckUtils]: 48: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:43,887 INFO L290 TraceCheckUtils]: 49: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:43,888 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20330#true} {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #71#return; {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:21:43,888 INFO L290 TraceCheckUtils]: 51: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:21:43,890 INFO L290 TraceCheckUtils]: 52: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= 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; {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 04:21:43,890 INFO L290 TraceCheckUtils]: 53: Hoare triple {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} assume !false; {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 04:21:43,890 INFO L272 TraceCheckUtils]: 54: Hoare triple {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:43,890 INFO L290 TraceCheckUtils]: 55: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:43,890 INFO L290 TraceCheckUtils]: 56: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:43,890 INFO L290 TraceCheckUtils]: 57: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:43,891 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {20330#true} {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #67#return; {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 04:21:43,891 INFO L272 TraceCheckUtils]: 59: Hoare triple {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:43,891 INFO L290 TraceCheckUtils]: 60: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:43,891 INFO L290 TraceCheckUtils]: 61: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:43,891 INFO L290 TraceCheckUtils]: 62: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:43,892 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {20330#true} {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #69#return; {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 04:21:43,892 INFO L272 TraceCheckUtils]: 64: Hoare triple {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:43,892 INFO L290 TraceCheckUtils]: 65: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:43,892 INFO L290 TraceCheckUtils]: 66: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:43,892 INFO L290 TraceCheckUtils]: 67: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:43,893 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {20330#true} {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #71#return; {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 04:21:43,893 INFO L290 TraceCheckUtils]: 69: Hoare triple {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {20545#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:21:43,895 INFO L290 TraceCheckUtils]: 70: Hoare triple {20545#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 04:21:43,896 INFO L290 TraceCheckUtils]: 71: Hoare triple {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} assume !false; {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 04:21:43,896 INFO L272 TraceCheckUtils]: 72: Hoare triple {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:43,896 INFO L290 TraceCheckUtils]: 73: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:43,896 INFO L290 TraceCheckUtils]: 74: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:43,896 INFO L290 TraceCheckUtils]: 75: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:43,896 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {20330#true} {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #67#return; {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 04:21:43,897 INFO L272 TraceCheckUtils]: 77: Hoare triple {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:43,897 INFO L290 TraceCheckUtils]: 78: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:43,897 INFO L290 TraceCheckUtils]: 79: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:43,897 INFO L290 TraceCheckUtils]: 80: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:43,905 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {20330#true} {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #69#return; {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-28 04:21:43,906 INFO L272 TraceCheckUtils]: 82: Hoare triple {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20586#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:21:43,907 INFO L290 TraceCheckUtils]: 83: Hoare triple {20586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:21:43,907 INFO L290 TraceCheckUtils]: 84: Hoare triple {20590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20331#false} is VALID [2022-04-28 04:21:43,907 INFO L290 TraceCheckUtils]: 85: Hoare triple {20331#false} assume !false; {20331#false} is VALID [2022-04-28 04:21:43,907 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 22 proven. 30 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-28 04:21:43,908 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:21:44,524 INFO L290 TraceCheckUtils]: 85: Hoare triple {20331#false} assume !false; {20331#false} is VALID [2022-04-28 04:21:44,525 INFO L290 TraceCheckUtils]: 84: Hoare triple {20590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20331#false} is VALID [2022-04-28 04:21:44,525 INFO L290 TraceCheckUtils]: 83: Hoare triple {20586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:21:44,526 INFO L272 TraceCheckUtils]: 82: Hoare triple {20606#(= 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)); {20586#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:21:44,526 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {20330#true} {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #69#return; {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:21:44,526 INFO L290 TraceCheckUtils]: 80: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:44,526 INFO L290 TraceCheckUtils]: 79: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:44,526 INFO L290 TraceCheckUtils]: 78: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:44,527 INFO L272 TraceCheckUtils]: 77: Hoare triple {20606#(= 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)); {20330#true} is VALID [2022-04-28 04:21:44,527 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {20330#true} {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #67#return; {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:21:44,527 INFO L290 TraceCheckUtils]: 75: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:44,527 INFO L290 TraceCheckUtils]: 74: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:44,527 INFO L290 TraceCheckUtils]: 73: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:44,527 INFO L272 TraceCheckUtils]: 72: Hoare triple {20606#(= 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)); {20330#true} is VALID [2022-04-28 04:21:44,528 INFO L290 TraceCheckUtils]: 71: Hoare triple {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:21:44,685 INFO L290 TraceCheckUtils]: 70: Hoare triple {20643#(or (< main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:21:44,686 INFO L290 TraceCheckUtils]: 69: Hoare triple {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(~a~0 != ~b~0); {20643#(or (< main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 04:21:44,687 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {20330#true} {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #71#return; {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 04:21:44,687 INFO L290 TraceCheckUtils]: 67: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:44,687 INFO L290 TraceCheckUtils]: 66: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:44,687 INFO L290 TraceCheckUtils]: 65: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:44,687 INFO L272 TraceCheckUtils]: 64: Hoare triple {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:44,688 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {20330#true} {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #69#return; {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 04:21:44,688 INFO L290 TraceCheckUtils]: 62: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:44,688 INFO L290 TraceCheckUtils]: 61: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:44,688 INFO L290 TraceCheckUtils]: 60: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:44,688 INFO L272 TraceCheckUtils]: 59: Hoare triple {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:44,688 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {20330#true} {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #67#return; {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 04:21:44,689 INFO L290 TraceCheckUtils]: 57: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:44,689 INFO L290 TraceCheckUtils]: 56: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:44,689 INFO L290 TraceCheckUtils]: 55: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:44,689 INFO L272 TraceCheckUtils]: 54: Hoare triple {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:44,689 INFO L290 TraceCheckUtils]: 53: Hoare triple {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !false; {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 04:21:44,754 INFO L290 TraceCheckUtils]: 52: Hoare triple {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {20647#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 04:21:44,755 INFO L290 TraceCheckUtils]: 51: Hoare triple {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume !!(~a~0 != ~b~0); {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 04:21:44,756 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20330#true} {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #71#return; {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 04:21:44,756 INFO L290 TraceCheckUtils]: 49: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:44,756 INFO L290 TraceCheckUtils]: 48: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:44,756 INFO L290 TraceCheckUtils]: 47: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:44,756 INFO L272 TraceCheckUtils]: 46: Hoare triple {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:44,757 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {20330#true} {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #69#return; {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 04:21:44,757 INFO L290 TraceCheckUtils]: 44: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:44,757 INFO L290 TraceCheckUtils]: 43: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:44,757 INFO L290 TraceCheckUtils]: 42: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:44,757 INFO L272 TraceCheckUtils]: 41: Hoare triple {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:44,758 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {20330#true} {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #67#return; {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 04:21:44,758 INFO L290 TraceCheckUtils]: 39: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:44,758 INFO L290 TraceCheckUtils]: 38: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:44,758 INFO L290 TraceCheckUtils]: 37: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:44,758 INFO L272 TraceCheckUtils]: 36: Hoare triple {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:44,758 INFO L290 TraceCheckUtils]: 35: Hoare triple {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume !false; {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-28 04:21:46,760 WARN L290 TraceCheckUtils]: 34: Hoare triple {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {20699#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is UNKNOWN [2022-04-28 04:21:46,761 INFO L290 TraceCheckUtils]: 33: Hoare triple {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume !!(~a~0 != ~b~0); {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 04:21:46,762 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20330#true} {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #71#return; {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 04:21:46,762 INFO L290 TraceCheckUtils]: 31: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:46,762 INFO L290 TraceCheckUtils]: 30: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:46,762 INFO L290 TraceCheckUtils]: 29: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:46,762 INFO L272 TraceCheckUtils]: 28: Hoare triple {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:46,763 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {20330#true} {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #69#return; {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 04:21:46,763 INFO L290 TraceCheckUtils]: 26: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:46,763 INFO L290 TraceCheckUtils]: 25: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:46,763 INFO L290 TraceCheckUtils]: 24: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:46,763 INFO L272 TraceCheckUtils]: 23: Hoare triple {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:46,764 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {20330#true} {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #67#return; {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 04:21:46,764 INFO L290 TraceCheckUtils]: 21: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:46,764 INFO L290 TraceCheckUtils]: 20: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:46,764 INFO L290 TraceCheckUtils]: 19: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:46,764 INFO L272 TraceCheckUtils]: 18: Hoare triple {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:46,765 INFO L290 TraceCheckUtils]: 17: Hoare triple {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume !false; {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 04:21:46,765 INFO L290 TraceCheckUtils]: 16: Hoare triple {20330#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {20754#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-28 04:21:46,765 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20330#true} {20330#true} #65#return; {20330#true} is VALID [2022-04-28 04:21:46,765 INFO L290 TraceCheckUtils]: 14: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:46,765 INFO L290 TraceCheckUtils]: 13: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:46,765 INFO L290 TraceCheckUtils]: 12: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:46,765 INFO L272 TraceCheckUtils]: 11: Hoare triple {20330#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:46,766 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20330#true} {20330#true} #63#return; {20330#true} is VALID [2022-04-28 04:21:46,766 INFO L290 TraceCheckUtils]: 9: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:46,766 INFO L290 TraceCheckUtils]: 8: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-28 04:21:46,766 INFO L290 TraceCheckUtils]: 7: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-28 04:21:46,766 INFO L272 TraceCheckUtils]: 6: Hoare triple {20330#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20330#true} is VALID [2022-04-28 04:21:46,766 INFO L290 TraceCheckUtils]: 5: Hoare triple {20330#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20330#true} is VALID [2022-04-28 04:21:46,766 INFO L272 TraceCheckUtils]: 4: Hoare triple {20330#true} call #t~ret6 := main(); {20330#true} is VALID [2022-04-28 04:21:46,766 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20330#true} {20330#true} #81#return; {20330#true} is VALID [2022-04-28 04:21:46,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-28 04:21:46,766 INFO L290 TraceCheckUtils]: 1: Hoare triple {20330#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); {20330#true} is VALID [2022-04-28 04:21:46,766 INFO L272 TraceCheckUtils]: 0: Hoare triple {20330#true} call ULTIMATE.init(); {20330#true} is VALID [2022-04-28 04:21:46,767 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 22 proven. 30 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-28 04:21:46,767 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:21:46,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [115259152] [2022-04-28 04:21:46,767 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:21:46,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1192660181] [2022-04-28 04:21:46,767 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1192660181] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:21:46,767 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:21:46,767 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 04:21:46,767 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:21:46,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [818090629] [2022-04-28 04:21:46,767 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [818090629] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:21:46,768 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:21:46,768 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 04:21:46,768 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1669129169] [2022-04-28 04:21:46,768 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:21:46,768 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-28 04:21:46,768 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:21:46,768 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 04:21:46,824 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 04:21:46,824 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 04:21:46,824 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:21:46,824 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 04:21:46,825 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-28 04:21:46,825 INFO L87 Difference]: Start difference. First operand 233 states and 273 transitions. Second operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 04:21:49,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:21:49,596 INFO L93 Difference]: Finished difference Result 255 states and 307 transitions. [2022-04-28 04:21:49,596 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 04:21:49,596 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-28 04:21:49,596 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:21:49,596 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 04:21:49,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 90 transitions. [2022-04-28 04:21:49,598 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 04:21:49,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 90 transitions. [2022-04-28 04:21:49,598 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 90 transitions. [2022-04-28 04:21:49,718 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:21:49,722 INFO L225 Difference]: With dead ends: 255 [2022-04-28 04:21:49,722 INFO L226 Difference]: Without dead ends: 249 [2022-04-28 04:21:49,723 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 158 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-28 04:21:49,723 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 9 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 293 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 208 SdHoareTripleChecker+Invalid, 303 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 293 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:21:49,723 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 208 Invalid, 303 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 293 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 04:21:49,724 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 249 states. [2022-04-28 04:21:49,984 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 249 to 236. [2022-04-28 04:21:49,984 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:21:49,984 INFO L82 GeneralOperation]: Start isEquivalent. First operand 249 states. Second operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-28 04:21:49,985 INFO L74 IsIncluded]: Start isIncluded. First operand 249 states. Second operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-28 04:21:49,985 INFO L87 Difference]: Start difference. First operand 249 states. Second operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-28 04:21:49,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:21:49,989 INFO L93 Difference]: Finished difference Result 249 states and 296 transitions. [2022-04-28 04:21:49,989 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 296 transitions. [2022-04-28 04:21:49,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:21:49,989 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:21:49,990 INFO L74 IsIncluded]: Start isIncluded. First operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) Second operand 249 states. [2022-04-28 04:21:49,990 INFO L87 Difference]: Start difference. First operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) Second operand 249 states. [2022-04-28 04:21:49,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:21:49,994 INFO L93 Difference]: Finished difference Result 249 states and 296 transitions. [2022-04-28 04:21:49,994 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 296 transitions. [2022-04-28 04:21:49,994 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:21:49,994 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:21:49,994 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:21:49,995 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:21:49,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-28 04:21:49,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 236 states to 236 states and 278 transitions. [2022-04-28 04:21:49,999 INFO L78 Accepts]: Start accepts. Automaton has 236 states and 278 transitions. Word has length 86 [2022-04-28 04:21:49,999 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:21:49,999 INFO L495 AbstractCegarLoop]: Abstraction has 236 states and 278 transitions. [2022-04-28 04:21:49,999 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), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 04:21:49,999 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 236 states and 278 transitions. [2022-04-28 04:21:51,023 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 278 edges. 278 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:21:51,023 INFO L276 IsEmpty]: Start isEmpty. Operand 236 states and 278 transitions. [2022-04-28 04:21:51,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 04:21:51,024 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:21:51,024 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:21:51,041 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 04:21:51,224 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:21:51,225 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:21:51,225 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:21:51,225 INFO L85 PathProgramCache]: Analyzing trace with hash -1916098638, now seen corresponding path program 15 times [2022-04-28 04:21:51,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:21:51,225 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2136917900] [2022-04-28 04:21:51,226 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:21:51,226 INFO L85 PathProgramCache]: Analyzing trace with hash -1916098638, now seen corresponding path program 16 times [2022-04-28 04:21:51,226 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:21:51,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [72718686] [2022-04-28 04:21:51,226 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:21:51,226 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:21:51,235 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:21:51,235 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [162804961] [2022-04-28 04:21:51,235 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:21:51,235 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:21:51,235 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:21:51,236 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:21:51,237 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 04:21:51,278 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:21:51,279 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:21:51,280 INFO L263 TraceCheckSpWp]: Trace formula consists of 182 conjuncts, 50 conjunts are in the unsatisfiable core [2022-04-28 04:21:51,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:21:51,296 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:23:05,565 INFO L272 TraceCheckUtils]: 0: Hoare triple {22341#true} call ULTIMATE.init(); {22341#true} is VALID [2022-04-28 04:23:05,565 INFO L290 TraceCheckUtils]: 1: Hoare triple {22341#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); {22341#true} is VALID [2022-04-28 04:23:05,565 INFO L290 TraceCheckUtils]: 2: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:05,565 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22341#true} {22341#true} #81#return; {22341#true} is VALID [2022-04-28 04:23:05,565 INFO L272 TraceCheckUtils]: 4: Hoare triple {22341#true} call #t~ret6 := main(); {22341#true} is VALID [2022-04-28 04:23:05,565 INFO L290 TraceCheckUtils]: 5: Hoare triple {22341#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22341#true} is VALID [2022-04-28 04:23:05,565 INFO L272 TraceCheckUtils]: 6: Hoare triple {22341#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:05,565 INFO L290 TraceCheckUtils]: 7: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:05,565 INFO L290 TraceCheckUtils]: 8: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:05,565 INFO L290 TraceCheckUtils]: 9: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:05,565 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22341#true} {22341#true} #63#return; {22341#true} is VALID [2022-04-28 04:23:05,566 INFO L272 TraceCheckUtils]: 11: Hoare triple {22341#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:05,566 INFO L290 TraceCheckUtils]: 12: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:05,566 INFO L290 TraceCheckUtils]: 13: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:05,566 INFO L290 TraceCheckUtils]: 14: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:05,566 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22341#true} {22341#true} #65#return; {22341#true} is VALID [2022-04-28 04:23:05,566 INFO L290 TraceCheckUtils]: 16: Hoare triple {22341#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:23:05,567 INFO L290 TraceCheckUtils]: 17: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:23:05,567 INFO L272 TraceCheckUtils]: 18: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:05,567 INFO L290 TraceCheckUtils]: 19: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:05,567 INFO L290 TraceCheckUtils]: 20: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:05,567 INFO L290 TraceCheckUtils]: 21: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:05,567 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {22341#true} {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #67#return; {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:23:05,568 INFO L272 TraceCheckUtils]: 23: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:05,568 INFO L290 TraceCheckUtils]: 24: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:05,568 INFO L290 TraceCheckUtils]: 25: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:05,568 INFO L290 TraceCheckUtils]: 26: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:05,568 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {22341#true} {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #69#return; {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:23:05,568 INFO L272 TraceCheckUtils]: 28: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:05,569 INFO L290 TraceCheckUtils]: 29: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:05,569 INFO L290 TraceCheckUtils]: 30: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:05,569 INFO L290 TraceCheckUtils]: 31: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:05,569 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {22341#true} {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #71#return; {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:23:05,570 INFO L290 TraceCheckUtils]: 33: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 04:23:05,571 INFO L290 TraceCheckUtils]: 34: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 04:23:05,571 INFO L290 TraceCheckUtils]: 35: Hoare triple {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} assume !false; {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 04:23:05,571 INFO L272 TraceCheckUtils]: 36: Hoare triple {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 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)); {22341#true} is VALID [2022-04-28 04:23:05,572 INFO L290 TraceCheckUtils]: 37: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:05,572 INFO L290 TraceCheckUtils]: 38: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:05,572 INFO L290 TraceCheckUtils]: 39: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:05,572 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {22341#true} {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} #67#return; {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 04:23:05,572 INFO L272 TraceCheckUtils]: 41: Hoare triple {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:05,572 INFO L290 TraceCheckUtils]: 42: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:05,573 INFO L290 TraceCheckUtils]: 43: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:05,573 INFO L290 TraceCheckUtils]: 44: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:05,573 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {22341#true} {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} #69#return; {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 04:23:05,573 INFO L272 TraceCheckUtils]: 46: Hoare triple {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:05,574 INFO L290 TraceCheckUtils]: 47: Hoare triple {22341#true} ~cond := #in~cond; {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:23:05,574 INFO L290 TraceCheckUtils]: 48: Hoare triple {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:23:05,574 INFO L290 TraceCheckUtils]: 49: Hoare triple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:23:05,575 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} #71#return; {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 04:23:05,575 INFO L290 TraceCheckUtils]: 51: Hoare triple {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} assume !!(~a~0 != ~b~0); {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-28 04:23:05,577 INFO L290 TraceCheckUtils]: 52: Hoare triple {22449#(and (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 04:23:05,577 INFO L290 TraceCheckUtils]: 53: Hoare triple {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 04:23:05,577 INFO L272 TraceCheckUtils]: 54: Hoare triple {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:05,577 INFO L290 TraceCheckUtils]: 55: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:05,577 INFO L290 TraceCheckUtils]: 56: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:05,577 INFO L290 TraceCheckUtils]: 57: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:05,578 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {22341#true} {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} #67#return; {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 04:23:05,578 INFO L272 TraceCheckUtils]: 59: Hoare triple {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:05,578 INFO L290 TraceCheckUtils]: 60: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:05,578 INFO L290 TraceCheckUtils]: 61: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:05,578 INFO L290 TraceCheckUtils]: 62: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:05,579 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {22341#true} {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} #69#return; {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 04:23:05,579 INFO L272 TraceCheckUtils]: 64: Hoare triple {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:05,579 INFO L290 TraceCheckUtils]: 65: Hoare triple {22341#true} ~cond := #in~cond; {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:23:05,580 INFO L290 TraceCheckUtils]: 66: Hoare triple {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:23:05,580 INFO L290 TraceCheckUtils]: 67: Hoare triple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:23:05,581 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} #71#return; {22555#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 04:23:05,581 INFO L290 TraceCheckUtils]: 69: Hoare triple {22555#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} assume !!(~a~0 != ~b~0); {22559#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (not (= main_~b~0 main_~a~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 04:23:05,583 INFO L290 TraceCheckUtils]: 70: Hoare triple {22559#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (not (= main_~b~0 main_~a~0)) (= (+ main_~q~0 main_~p~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; {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-28 04:23:05,583 INFO L290 TraceCheckUtils]: 71: Hoare triple {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !false; {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-28 04:23:05,583 INFO L272 TraceCheckUtils]: 72: Hoare triple {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:05,583 INFO L290 TraceCheckUtils]: 73: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:05,583 INFO L290 TraceCheckUtils]: 74: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:05,583 INFO L290 TraceCheckUtils]: 75: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:05,584 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {22341#true} {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} #67#return; {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-28 04:23:05,584 INFO L272 TraceCheckUtils]: 77: Hoare triple {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:05,584 INFO L290 TraceCheckUtils]: 78: Hoare triple {22341#true} ~cond := #in~cond; {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:23:05,585 INFO L290 TraceCheckUtils]: 79: Hoare triple {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:23:05,585 INFO L290 TraceCheckUtils]: 80: Hoare triple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:23:05,588 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} #69#return; {22597#(and (= (* 2 (* main_~y~0 main_~s~0)) (+ main_~b~0 (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) 2))) (* main_~y~0 3))) (< main_~y~0 main_~x~0) (= (+ main_~b~0 main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) 2))) (* main_~y~0 main_~s~0)) (not (= main_~b~0 0)) (= (mod main_~q~0 2) 0) (<= 0 main_~b~0) (= (* main_~y~0 main_~s~0) (+ main_~b~0 (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) 2))))))} is VALID [2022-04-28 04:23:05,592 INFO L272 TraceCheckUtils]: 82: Hoare triple {22597#(and (= (* 2 (* main_~y~0 main_~s~0)) (+ main_~b~0 (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) 2))) (* main_~y~0 3))) (< main_~y~0 main_~x~0) (= (+ main_~b~0 main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) 2))) (* main_~y~0 main_~s~0)) (not (= main_~b~0 0)) (= (mod main_~q~0 2) 0) (<= 0 main_~b~0) (= (* main_~y~0 main_~s~0) (+ main_~b~0 (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) 2))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22601#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:23:05,592 INFO L290 TraceCheckUtils]: 83: Hoare triple {22601#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22605#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:23:05,593 INFO L290 TraceCheckUtils]: 84: Hoare triple {22605#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22342#false} is VALID [2022-04-28 04:23:05,593 INFO L290 TraceCheckUtils]: 85: Hoare triple {22342#false} assume !false; {22342#false} is VALID [2022-04-28 04:23:05,593 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 79 proven. 45 refuted. 0 times theorem prover too weak. 152 trivial. 0 not checked. [2022-04-28 04:23:05,593 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:23:55,009 INFO L290 TraceCheckUtils]: 85: Hoare triple {22342#false} assume !false; {22342#false} is VALID [2022-04-28 04:23:55,010 INFO L290 TraceCheckUtils]: 84: Hoare triple {22605#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22342#false} is VALID [2022-04-28 04:23:55,010 INFO L290 TraceCheckUtils]: 83: Hoare triple {22601#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22605#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:23:55,011 INFO L272 TraceCheckUtils]: 82: Hoare triple {22621#(= 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)); {22601#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:23:55,012 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #69#return; {22621#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:23:55,012 INFO L290 TraceCheckUtils]: 80: Hoare triple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:23:55,012 INFO L290 TraceCheckUtils]: 79: Hoare triple {22635#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:23:55,013 INFO L290 TraceCheckUtils]: 78: Hoare triple {22341#true} ~cond := #in~cond; {22635#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:23:55,013 INFO L272 TraceCheckUtils]: 77: Hoare triple {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:55,013 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {22341#true} {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #67#return; {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 04:23:55,013 INFO L290 TraceCheckUtils]: 75: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:55,013 INFO L290 TraceCheckUtils]: 74: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:55,014 INFO L290 TraceCheckUtils]: 73: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:55,014 INFO L272 TraceCheckUtils]: 72: Hoare triple {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:55,014 INFO L290 TraceCheckUtils]: 71: Hoare triple {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 04:23:56,398 INFO L290 TraceCheckUtils]: 70: Hoare triple {22660#(or (< main_~b~0 main_~a~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 04:23:56,398 INFO L290 TraceCheckUtils]: 69: Hoare triple {22664#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(~a~0 != ~b~0); {22660#(or (< main_~b~0 main_~a~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 04:23:56,400 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} {22341#true} #71#return; {22664#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-28 04:23:56,401 INFO L290 TraceCheckUtils]: 67: Hoare triple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:23:56,401 INFO L290 TraceCheckUtils]: 66: Hoare triple {22635#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:23:56,401 INFO L290 TraceCheckUtils]: 65: Hoare triple {22341#true} ~cond := #in~cond; {22635#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:23:56,401 INFO L272 TraceCheckUtils]: 64: Hoare triple {22341#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:56,401 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {22341#true} {22341#true} #69#return; {22341#true} is VALID [2022-04-28 04:23:56,401 INFO L290 TraceCheckUtils]: 62: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:56,402 INFO L290 TraceCheckUtils]: 61: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:56,402 INFO L290 TraceCheckUtils]: 60: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:56,402 INFO L272 TraceCheckUtils]: 59: Hoare triple {22341#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:56,402 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {22341#true} {22341#true} #67#return; {22341#true} is VALID [2022-04-28 04:23:56,402 INFO L290 TraceCheckUtils]: 57: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:56,402 INFO L290 TraceCheckUtils]: 56: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:56,402 INFO L290 TraceCheckUtils]: 55: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:56,402 INFO L272 TraceCheckUtils]: 54: Hoare triple {22341#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:56,402 INFO L290 TraceCheckUtils]: 53: Hoare triple {22341#true} assume !false; {22341#true} is VALID [2022-04-28 04:23:56,402 INFO L290 TraceCheckUtils]: 52: Hoare triple {22341#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {22341#true} is VALID [2022-04-28 04:23:56,402 INFO L290 TraceCheckUtils]: 51: Hoare triple {22341#true} assume !!(~a~0 != ~b~0); {22341#true} is VALID [2022-04-28 04:23:56,402 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {22341#true} {22341#true} #71#return; {22341#true} is VALID [2022-04-28 04:23:56,402 INFO L290 TraceCheckUtils]: 49: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:56,402 INFO L290 TraceCheckUtils]: 48: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:56,402 INFO L290 TraceCheckUtils]: 47: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:56,403 INFO L272 TraceCheckUtils]: 46: Hoare triple {22341#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:56,403 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {22341#true} {22341#true} #69#return; {22341#true} is VALID [2022-04-28 04:23:56,403 INFO L290 TraceCheckUtils]: 44: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:56,403 INFO L290 TraceCheckUtils]: 43: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:56,403 INFO L290 TraceCheckUtils]: 42: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:56,403 INFO L272 TraceCheckUtils]: 41: Hoare triple {22341#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:56,403 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {22341#true} {22341#true} #67#return; {22341#true} is VALID [2022-04-28 04:23:56,403 INFO L290 TraceCheckUtils]: 39: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:56,403 INFO L290 TraceCheckUtils]: 38: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:56,403 INFO L290 TraceCheckUtils]: 37: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:56,403 INFO L272 TraceCheckUtils]: 36: Hoare triple {22341#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:56,403 INFO L290 TraceCheckUtils]: 35: Hoare triple {22341#true} assume !false; {22341#true} is VALID [2022-04-28 04:23:56,403 INFO L290 TraceCheckUtils]: 34: Hoare triple {22341#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {22341#true} is VALID [2022-04-28 04:23:56,404 INFO L290 TraceCheckUtils]: 33: Hoare triple {22341#true} assume !!(~a~0 != ~b~0); {22341#true} is VALID [2022-04-28 04:23:56,404 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {22341#true} {22341#true} #71#return; {22341#true} is VALID [2022-04-28 04:23:56,404 INFO L290 TraceCheckUtils]: 31: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:56,404 INFO L290 TraceCheckUtils]: 30: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:56,404 INFO L290 TraceCheckUtils]: 29: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:56,404 INFO L272 TraceCheckUtils]: 28: Hoare triple {22341#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:56,404 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {22341#true} {22341#true} #69#return; {22341#true} is VALID [2022-04-28 04:23:56,404 INFO L290 TraceCheckUtils]: 26: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:56,404 INFO L290 TraceCheckUtils]: 25: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:56,404 INFO L290 TraceCheckUtils]: 24: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:56,404 INFO L272 TraceCheckUtils]: 23: Hoare triple {22341#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:56,404 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {22341#true} {22341#true} #67#return; {22341#true} is VALID [2022-04-28 04:23:56,404 INFO L290 TraceCheckUtils]: 21: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:56,404 INFO L290 TraceCheckUtils]: 20: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:56,404 INFO L290 TraceCheckUtils]: 19: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:56,405 INFO L272 TraceCheckUtils]: 18: Hoare triple {22341#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:56,405 INFO L290 TraceCheckUtils]: 17: Hoare triple {22341#true} assume !false; {22341#true} is VALID [2022-04-28 04:23:56,405 INFO L290 TraceCheckUtils]: 16: Hoare triple {22341#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {22341#true} is VALID [2022-04-28 04:23:56,405 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22341#true} {22341#true} #65#return; {22341#true} is VALID [2022-04-28 04:23:56,405 INFO L290 TraceCheckUtils]: 14: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:56,405 INFO L290 TraceCheckUtils]: 13: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:56,405 INFO L290 TraceCheckUtils]: 12: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:56,405 INFO L272 TraceCheckUtils]: 11: Hoare triple {22341#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:56,405 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22341#true} {22341#true} #63#return; {22341#true} is VALID [2022-04-28 04:23:56,405 INFO L290 TraceCheckUtils]: 9: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:56,405 INFO L290 TraceCheckUtils]: 8: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-28 04:23:56,405 INFO L290 TraceCheckUtils]: 7: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-28 04:23:56,405 INFO L272 TraceCheckUtils]: 6: Hoare triple {22341#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22341#true} is VALID [2022-04-28 04:23:56,405 INFO L290 TraceCheckUtils]: 5: Hoare triple {22341#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22341#true} is VALID [2022-04-28 04:23:56,405 INFO L272 TraceCheckUtils]: 4: Hoare triple {22341#true} call #t~ret6 := main(); {22341#true} is VALID [2022-04-28 04:23:56,406 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22341#true} {22341#true} #81#return; {22341#true} is VALID [2022-04-28 04:23:56,406 INFO L290 TraceCheckUtils]: 2: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-28 04:23:56,406 INFO L290 TraceCheckUtils]: 1: Hoare triple {22341#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); {22341#true} is VALID [2022-04-28 04:23:56,406 INFO L272 TraceCheckUtils]: 0: Hoare triple {22341#true} call ULTIMATE.init(); {22341#true} is VALID [2022-04-28 04:23:56,406 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 87 proven. 5 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 04:23:56,406 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:23:56,406 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [72718686] [2022-04-28 04:23:56,406 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:23:56,406 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [162804961] [2022-04-28 04:23:56,407 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [162804961] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:23:56,407 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:23:56,407 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 04:23:56,407 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:23:56,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2136917900] [2022-04-28 04:23:56,407 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2136917900] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:23:56,407 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:23:56,407 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 04:23:56,407 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [602646799] [2022-04-28 04:23:56,407 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:23:56,408 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-28 04:23:56,408 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:23:56,408 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 04:23:56,478 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:23:56,479 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 04:23:56,479 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:23:56,479 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 04:23:56,479 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=232, Unknown=0, NotChecked=0, Total=306 [2022-04-28 04:23:56,479 INFO L87 Difference]: Start difference. First operand 236 states and 278 transitions. Second operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 04:24:03,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:24:03,266 INFO L93 Difference]: Finished difference Result 282 states and 338 transitions. [2022-04-28 04:24:03,266 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 04:24:03,266 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-28 04:24:03,266 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:24:03,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 04:24:03,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 108 transitions. [2022-04-28 04:24:03,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 04:24:03,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 108 transitions. [2022-04-28 04:24:03,269 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 108 transitions. [2022-04-28 04:24:03,446 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:24:03,450 INFO L225 Difference]: With dead ends: 282 [2022-04-28 04:24:03,450 INFO L226 Difference]: Without dead ends: 272 [2022-04-28 04:24:03,451 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 153 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=87, Invalid=293, Unknown=0, NotChecked=0, Total=380 [2022-04-28 04:24:03,451 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 20 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 569 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 203 SdHoareTripleChecker+Invalid, 589 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 569 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.2s IncrementalHoareTripleChecker+Time [2022-04-28 04:24:03,451 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 203 Invalid, 589 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 569 Invalid, 0 Unknown, 0 Unchecked, 3.2s Time] [2022-04-28 04:24:03,452 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 272 states. [2022-04-28 04:24:03,764 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 272 to 254. [2022-04-28 04:24:03,765 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:24:03,765 INFO L82 GeneralOperation]: Start isEquivalent. First operand 272 states. Second operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-28 04:24:03,765 INFO L74 IsIncluded]: Start isIncluded. First operand 272 states. Second operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-28 04:24:03,766 INFO L87 Difference]: Start difference. First operand 272 states. Second operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-28 04:24:03,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:24:03,770 INFO L93 Difference]: Finished difference Result 272 states and 320 transitions. [2022-04-28 04:24:03,770 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 320 transitions. [2022-04-28 04:24:03,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:24:03,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:24:03,771 INFO L74 IsIncluded]: Start isIncluded. First operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) Second operand 272 states. [2022-04-28 04:24:03,771 INFO L87 Difference]: Start difference. First operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) Second operand 272 states. [2022-04-28 04:24:03,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:24:03,775 INFO L93 Difference]: Finished difference Result 272 states and 320 transitions. [2022-04-28 04:24:03,775 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 320 transitions. [2022-04-28 04:24:03,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:24:03,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:24:03,775 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:24:03,776 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:24:03,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-28 04:24:03,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 254 states to 254 states and 297 transitions. [2022-04-28 04:24:03,780 INFO L78 Accepts]: Start accepts. Automaton has 254 states and 297 transitions. Word has length 86 [2022-04-28 04:24:03,780 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:24:03,780 INFO L495 AbstractCegarLoop]: Abstraction has 254 states and 297 transitions. [2022-04-28 04:24:03,781 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 04:24:03,781 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 254 states and 297 transitions. [2022-04-28 04:24:04,991 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 297 edges. 297 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:24:04,991 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 297 transitions. [2022-04-28 04:24:04,992 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 04:24:04,992 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:24:04,992 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:24:05,009 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 04:24:05,203 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:24:05,204 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:24:05,206 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:24:05,206 INFO L85 PathProgramCache]: Analyzing trace with hash 1866224690, now seen corresponding path program 17 times [2022-04-28 04:24:05,206 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:24:05,206 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [525793665] [2022-04-28 04:24:05,214 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:24:05,214 INFO L85 PathProgramCache]: Analyzing trace with hash 1866224690, now seen corresponding path program 18 times [2022-04-28 04:24:05,214 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:24:05,214 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1666175609] [2022-04-28 04:24:05,214 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:24:05,215 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:24:05,231 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:24:05,231 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1169600867] [2022-04-28 04:24:05,231 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:24:05,231 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:24:05,231 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:24:05,232 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:24:05,233 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 04:24:05,278 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 04:24:05,278 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:24:05,279 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 04:24:05,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:24:05,409 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:25:17,296 INFO L272 TraceCheckUtils]: 0: Hoare triple {24494#true} call ULTIMATE.init(); {24494#true} is VALID [2022-04-28 04:25:17,297 INFO L290 TraceCheckUtils]: 1: Hoare triple {24494#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); {24494#true} is VALID [2022-04-28 04:25:17,297 INFO L290 TraceCheckUtils]: 2: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:17,297 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24494#true} {24494#true} #81#return; {24494#true} is VALID [2022-04-28 04:25:17,297 INFO L272 TraceCheckUtils]: 4: Hoare triple {24494#true} call #t~ret6 := main(); {24494#true} is VALID [2022-04-28 04:25:17,297 INFO L290 TraceCheckUtils]: 5: Hoare triple {24494#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {24494#true} is VALID [2022-04-28 04:25:17,297 INFO L272 TraceCheckUtils]: 6: Hoare triple {24494#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:17,297 INFO L290 TraceCheckUtils]: 7: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:17,297 INFO L290 TraceCheckUtils]: 8: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:17,297 INFO L290 TraceCheckUtils]: 9: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:17,297 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24494#true} {24494#true} #63#return; {24494#true} is VALID [2022-04-28 04:25:17,298 INFO L272 TraceCheckUtils]: 11: Hoare triple {24494#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:17,298 INFO L290 TraceCheckUtils]: 12: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:17,298 INFO L290 TraceCheckUtils]: 13: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:17,298 INFO L290 TraceCheckUtils]: 14: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:17,298 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {24494#true} {24494#true} #65#return; {24494#true} is VALID [2022-04-28 04:25:17,298 INFO L290 TraceCheckUtils]: 16: Hoare triple {24494#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:25:17,298 INFO L290 TraceCheckUtils]: 17: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:25:17,299 INFO L272 TraceCheckUtils]: 18: Hoare triple {24547#(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)); {24494#true} is VALID [2022-04-28 04:25:17,299 INFO L290 TraceCheckUtils]: 19: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:17,299 INFO L290 TraceCheckUtils]: 20: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:17,299 INFO L290 TraceCheckUtils]: 21: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:17,299 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:25:17,299 INFO L272 TraceCheckUtils]: 23: Hoare triple {24547#(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)); {24494#true} is VALID [2022-04-28 04:25:17,299 INFO L290 TraceCheckUtils]: 24: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:17,299 INFO L290 TraceCheckUtils]: 25: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:17,300 INFO L290 TraceCheckUtils]: 26: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:17,300 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:25:17,300 INFO L272 TraceCheckUtils]: 28: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:17,300 INFO L290 TraceCheckUtils]: 29: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:17,300 INFO L290 TraceCheckUtils]: 30: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:17,300 INFO L290 TraceCheckUtils]: 31: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:17,301 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:25:17,301 INFO L290 TraceCheckUtils]: 33: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:25:17,302 INFO L290 TraceCheckUtils]: 34: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:25:17,302 INFO L290 TraceCheckUtils]: 35: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:25:17,302 INFO L272 TraceCheckUtils]: 36: Hoare triple {24547#(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)); {24494#true} is VALID [2022-04-28 04:25:17,302 INFO L290 TraceCheckUtils]: 37: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:17,302 INFO L290 TraceCheckUtils]: 38: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:17,302 INFO L290 TraceCheckUtils]: 39: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:17,303 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:25:17,303 INFO L272 TraceCheckUtils]: 41: Hoare triple {24547#(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)); {24494#true} is VALID [2022-04-28 04:25:17,303 INFO L290 TraceCheckUtils]: 42: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:17,303 INFO L290 TraceCheckUtils]: 43: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:17,303 INFO L290 TraceCheckUtils]: 44: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:17,303 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:25:17,304 INFO L272 TraceCheckUtils]: 46: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:17,304 INFO L290 TraceCheckUtils]: 47: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:17,304 INFO L290 TraceCheckUtils]: 48: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:17,304 INFO L290 TraceCheckUtils]: 49: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:17,304 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:25:17,305 INFO L290 TraceCheckUtils]: 51: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 04:25:17,305 INFO L290 TraceCheckUtils]: 52: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:25:17,306 INFO L290 TraceCheckUtils]: 53: Hoare triple {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:25:17,306 INFO L272 TraceCheckUtils]: 54: Hoare triple {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:17,306 INFO L290 TraceCheckUtils]: 55: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:17,306 INFO L290 TraceCheckUtils]: 56: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:17,306 INFO L290 TraceCheckUtils]: 57: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:17,306 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {24494#true} {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #67#return; {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:25:17,306 INFO L272 TraceCheckUtils]: 59: Hoare triple {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:17,307 INFO L290 TraceCheckUtils]: 60: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:17,307 INFO L290 TraceCheckUtils]: 61: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:17,307 INFO L290 TraceCheckUtils]: 62: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:17,307 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {24494#true} {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #69#return; {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:25:17,307 INFO L272 TraceCheckUtils]: 64: Hoare triple {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:17,308 INFO L290 TraceCheckUtils]: 65: Hoare triple {24494#true} ~cond := #in~cond; {24696#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:25:17,308 INFO L290 TraceCheckUtils]: 66: Hoare triple {24696#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:25:17,308 INFO L290 TraceCheckUtils]: 67: Hoare triple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:25:17,309 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #71#return; {24707#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:25:17,309 INFO L290 TraceCheckUtils]: 69: Hoare triple {24707#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {24707#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:25:17,366 INFO L290 TraceCheckUtils]: 70: Hoare triple {24707#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 04:25:17,367 INFO L290 TraceCheckUtils]: 71: Hoare triple {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} assume !false; {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 04:25:17,367 INFO L272 TraceCheckUtils]: 72: Hoare triple {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:17,367 INFO L290 TraceCheckUtils]: 73: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:17,367 INFO L290 TraceCheckUtils]: 74: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:17,367 INFO L290 TraceCheckUtils]: 75: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:17,368 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {24494#true} {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #67#return; {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-28 04:25:17,368 INFO L272 TraceCheckUtils]: 77: Hoare triple {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:17,368 INFO L290 TraceCheckUtils]: 78: Hoare triple {24494#true} ~cond := #in~cond; {24696#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:25:17,368 INFO L290 TraceCheckUtils]: 79: Hoare triple {24696#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:25:17,369 INFO L290 TraceCheckUtils]: 80: Hoare triple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:25:19,374 WARN L284 TraceCheckUtils]: 81: Hoare quadruple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #69#return; {24748#(and (= main_~b~0 (+ main_~x~0 (* (- 2) (* (- 1) main_~y~0 (div (- main_~s~0) 2))) (* (- 2) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (- 2) (* (- 1) main_~y~0 main_~s~0)))) (= (mod main_~s~0 2) 0) (= (mod (+ main_~q~0 1) 2) 0) (= (+ (* main_~y~0 (div (- main_~s~0) 2)) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (+ (* (- 1) main_~y~0 main_~s~0) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0) (* (- 1) main_~y~0 (div (- main_~s~0) 2)))))} is UNKNOWN [2022-04-28 04:25:19,452 INFO L272 TraceCheckUtils]: 82: Hoare triple {24748#(and (= main_~b~0 (+ main_~x~0 (* (- 2) (* (- 1) main_~y~0 (div (- main_~s~0) 2))) (* (- 2) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (- 2) (* (- 1) main_~y~0 main_~s~0)))) (= (mod main_~s~0 2) 0) (= (mod (+ main_~q~0 1) 2) 0) (= (+ (* main_~y~0 (div (- main_~s~0) 2)) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (+ (* (- 1) main_~y~0 main_~s~0) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0) (* (- 1) main_~y~0 (div (- main_~s~0) 2)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24752#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:25:19,453 INFO L290 TraceCheckUtils]: 83: Hoare triple {24752#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24756#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:25:19,453 INFO L290 TraceCheckUtils]: 84: Hoare triple {24756#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {24495#false} is VALID [2022-04-28 04:25:19,453 INFO L290 TraceCheckUtils]: 85: Hoare triple {24495#false} assume !false; {24495#false} is VALID [2022-04-28 04:25:19,454 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 71 proven. 29 refuted. 0 times theorem prover too weak. 176 trivial. 0 not checked. [2022-04-28 04:25:19,454 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:25:48,032 INFO L290 TraceCheckUtils]: 85: Hoare triple {24495#false} assume !false; {24495#false} is VALID [2022-04-28 04:25:48,033 INFO L290 TraceCheckUtils]: 84: Hoare triple {24756#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {24495#false} is VALID [2022-04-28 04:25:48,033 INFO L290 TraceCheckUtils]: 83: Hoare triple {24752#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24756#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:25:48,034 INFO L272 TraceCheckUtils]: 82: Hoare triple {24772#(= 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)); {24752#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:25:48,035 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #69#return; {24772#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 04:25:48,035 INFO L290 TraceCheckUtils]: 80: Hoare triple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:25:48,036 INFO L290 TraceCheckUtils]: 79: Hoare triple {24786#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:25:48,036 INFO L290 TraceCheckUtils]: 78: Hoare triple {24494#true} ~cond := #in~cond; {24786#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:25:48,036 INFO L272 TraceCheckUtils]: 77: Hoare triple {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:48,037 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {24494#true} {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #67#return; {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 04:25:48,037 INFO L290 TraceCheckUtils]: 75: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:48,037 INFO L290 TraceCheckUtils]: 74: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:48,037 INFO L290 TraceCheckUtils]: 73: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:48,037 INFO L272 TraceCheckUtils]: 72: Hoare triple {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:48,038 INFO L290 TraceCheckUtils]: 71: Hoare triple {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 04:25:48,529 INFO L290 TraceCheckUtils]: 70: Hoare triple {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 04:25:48,529 INFO L290 TraceCheckUtils]: 69: Hoare triple {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~a~0 != ~b~0); {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 04:25:48,530 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} {24494#true} #71#return; {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 04:25:48,530 INFO L290 TraceCheckUtils]: 67: Hoare triple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:25:48,531 INFO L290 TraceCheckUtils]: 66: Hoare triple {24786#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:25:48,531 INFO L290 TraceCheckUtils]: 65: Hoare triple {24494#true} ~cond := #in~cond; {24786#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:25:48,531 INFO L272 TraceCheckUtils]: 64: Hoare triple {24494#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:48,531 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {24494#true} {24494#true} #69#return; {24494#true} is VALID [2022-04-28 04:25:48,531 INFO L290 TraceCheckUtils]: 62: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:48,531 INFO L290 TraceCheckUtils]: 61: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:48,531 INFO L290 TraceCheckUtils]: 60: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:48,531 INFO L272 TraceCheckUtils]: 59: Hoare triple {24494#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:48,532 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {24494#true} {24494#true} #67#return; {24494#true} is VALID [2022-04-28 04:25:48,532 INFO L290 TraceCheckUtils]: 57: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:48,532 INFO L290 TraceCheckUtils]: 56: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:48,532 INFO L290 TraceCheckUtils]: 55: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:48,532 INFO L272 TraceCheckUtils]: 54: Hoare triple {24494#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:48,532 INFO L290 TraceCheckUtils]: 53: Hoare triple {24494#true} assume !false; {24494#true} is VALID [2022-04-28 04:25:48,532 INFO L290 TraceCheckUtils]: 52: Hoare triple {24494#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {24494#true} is VALID [2022-04-28 04:25:48,532 INFO L290 TraceCheckUtils]: 51: Hoare triple {24494#true} assume !!(~a~0 != ~b~0); {24494#true} is VALID [2022-04-28 04:25:48,532 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {24494#true} {24494#true} #71#return; {24494#true} is VALID [2022-04-28 04:25:48,532 INFO L290 TraceCheckUtils]: 49: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:48,532 INFO L290 TraceCheckUtils]: 48: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:48,532 INFO L290 TraceCheckUtils]: 47: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:48,532 INFO L272 TraceCheckUtils]: 46: Hoare triple {24494#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:48,532 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {24494#true} {24494#true} #69#return; {24494#true} is VALID [2022-04-28 04:25:48,532 INFO L290 TraceCheckUtils]: 44: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:48,533 INFO L290 TraceCheckUtils]: 43: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:48,533 INFO L290 TraceCheckUtils]: 42: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:48,533 INFO L272 TraceCheckUtils]: 41: Hoare triple {24494#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:48,533 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {24494#true} {24494#true} #67#return; {24494#true} is VALID [2022-04-28 04:25:48,533 INFO L290 TraceCheckUtils]: 39: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:48,533 INFO L290 TraceCheckUtils]: 38: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:48,533 INFO L290 TraceCheckUtils]: 37: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:48,533 INFO L272 TraceCheckUtils]: 36: Hoare triple {24494#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:48,533 INFO L290 TraceCheckUtils]: 35: Hoare triple {24494#true} assume !false; {24494#true} is VALID [2022-04-28 04:25:48,533 INFO L290 TraceCheckUtils]: 34: Hoare triple {24494#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {24494#true} is VALID [2022-04-28 04:25:48,533 INFO L290 TraceCheckUtils]: 33: Hoare triple {24494#true} assume !!(~a~0 != ~b~0); {24494#true} is VALID [2022-04-28 04:25:48,533 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {24494#true} {24494#true} #71#return; {24494#true} is VALID [2022-04-28 04:25:48,533 INFO L290 TraceCheckUtils]: 31: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:48,533 INFO L290 TraceCheckUtils]: 30: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:48,533 INFO L290 TraceCheckUtils]: 29: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:48,534 INFO L272 TraceCheckUtils]: 28: Hoare triple {24494#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:48,534 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {24494#true} {24494#true} #69#return; {24494#true} is VALID [2022-04-28 04:25:48,534 INFO L290 TraceCheckUtils]: 26: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:48,534 INFO L290 TraceCheckUtils]: 25: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:48,534 INFO L290 TraceCheckUtils]: 24: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:48,534 INFO L272 TraceCheckUtils]: 23: Hoare triple {24494#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:48,534 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {24494#true} {24494#true} #67#return; {24494#true} is VALID [2022-04-28 04:25:48,534 INFO L290 TraceCheckUtils]: 21: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:48,534 INFO L290 TraceCheckUtils]: 20: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:48,534 INFO L290 TraceCheckUtils]: 19: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:48,534 INFO L272 TraceCheckUtils]: 18: Hoare triple {24494#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:48,534 INFO L290 TraceCheckUtils]: 17: Hoare triple {24494#true} assume !false; {24494#true} is VALID [2022-04-28 04:25:48,534 INFO L290 TraceCheckUtils]: 16: Hoare triple {24494#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {24494#true} is VALID [2022-04-28 04:25:48,534 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {24494#true} {24494#true} #65#return; {24494#true} is VALID [2022-04-28 04:25:48,534 INFO L290 TraceCheckUtils]: 14: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:48,535 INFO L290 TraceCheckUtils]: 13: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:48,535 INFO L290 TraceCheckUtils]: 12: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:48,535 INFO L272 TraceCheckUtils]: 11: Hoare triple {24494#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:48,535 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24494#true} {24494#true} #63#return; {24494#true} is VALID [2022-04-28 04:25:48,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:48,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-28 04:25:48,535 INFO L290 TraceCheckUtils]: 7: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-28 04:25:48,535 INFO L272 TraceCheckUtils]: 6: Hoare triple {24494#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {24494#true} is VALID [2022-04-28 04:25:48,535 INFO L290 TraceCheckUtils]: 5: Hoare triple {24494#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {24494#true} is VALID [2022-04-28 04:25:48,535 INFO L272 TraceCheckUtils]: 4: Hoare triple {24494#true} call #t~ret6 := main(); {24494#true} is VALID [2022-04-28 04:25:48,535 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24494#true} {24494#true} #81#return; {24494#true} is VALID [2022-04-28 04:25:48,535 INFO L290 TraceCheckUtils]: 2: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-28 04:25:48,535 INFO L290 TraceCheckUtils]: 1: Hoare triple {24494#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); {24494#true} is VALID [2022-04-28 04:25:48,535 INFO L272 TraceCheckUtils]: 0: Hoare triple {24494#true} call ULTIMATE.init(); {24494#true} is VALID [2022-04-28 04:25:48,536 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 87 proven. 5 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 04:25:48,536 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:25:48,536 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1666175609] [2022-04-28 04:25:48,536 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:25:48,536 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1169600867] [2022-04-28 04:25:48,536 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1169600867] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:25:48,536 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:25:48,536 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 14 [2022-04-28 04:25:48,537 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:25:48,537 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [525793665] [2022-04-28 04:25:48,537 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [525793665] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:25:48,537 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:25:48,537 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 04:25:48,537 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [249734375] [2022-04-28 04:25:48,537 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:25:48,537 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) Word has length 86 [2022-04-28 04:25:48,537 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:25:48,537 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 04:25:52,722 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 47 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 04:25:52,722 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 04:25:52,722 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:25:52,722 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 04:25:52,723 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=143, Unknown=1, NotChecked=0, Total=182 [2022-04-28 04:25:52,723 INFO L87 Difference]: Start difference. First operand 254 states and 297 transitions. Second operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 04:25:55,999 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:25:58,022 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:07,189 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:09,194 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:11,198 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:13,201 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:15,205 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:17,209 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:19,214 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:21,319 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:23,324 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:25,331 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:27,335 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:29,341 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:31,347 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:33,352 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:34,976 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.00s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:50,341 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:52,280 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.24s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:26:54,770 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.81s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:27:02,925 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:27:04,862 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.21s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 04:27:05,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:27:05,412 INFO L93 Difference]: Finished difference Result 298 states and 364 transitions. [2022-04-28 04:27:05,412 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 04:27:05,412 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) Word has length 86 [2022-04-28 04:27:05,412 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:27:05,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 04:27:05,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 101 transitions. [2022-04-28 04:27:05,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 04:27:05,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 101 transitions. [2022-04-28 04:27:05,415 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 101 transitions. [2022-04-28 04:27:14,150 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 98 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 04:27:14,154 INFO L225 Difference]: With dead ends: 298 [2022-04-28 04:27:14,154 INFO L226 Difference]: Without dead ends: 283 [2022-04-28 04:27:14,155 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 174 GetRequests, 157 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 7.6s TimeCoverageRelationStatistics Valid=57, Invalid=214, Unknown=1, NotChecked=0, Total=272 [2022-04-28 04:27:14,155 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 21 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 419 mSolverCounterSat, 20 mSolverCounterUnsat, 18 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 50.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 168 SdHoareTripleChecker+Invalid, 457 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 419 IncrementalHoareTripleChecker+Invalid, 18 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 50.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:27:14,155 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 168 Invalid, 457 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 419 Invalid, 18 Unknown, 0 Unchecked, 50.3s Time] [2022-04-28 04:27:14,156 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 283 states. [2022-04-28 04:27:14,505 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 283 to 283. [2022-04-28 04:27:14,505 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:27:14,505 INFO L82 GeneralOperation]: Start isEquivalent. First operand 283 states. Second operand has 283 states, 173 states have (on average 1.1329479768786128) internal successors, (196), 177 states have internal predecessors, (196), 73 states have call successors, (73), 37 states have call predecessors, (73), 36 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) [2022-04-28 04:27:14,506 INFO L74 IsIncluded]: Start isIncluded. First operand 283 states. Second operand has 283 states, 173 states have (on average 1.1329479768786128) internal successors, (196), 177 states have internal predecessors, (196), 73 states have call successors, (73), 37 states have call predecessors, (73), 36 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) [2022-04-28 04:27:14,506 INFO L87 Difference]: Start difference. First operand 283 states. Second operand has 283 states, 173 states have (on average 1.1329479768786128) internal successors, (196), 177 states have internal predecessors, (196), 73 states have call successors, (73), 37 states have call predecessors, (73), 36 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) [2022-04-28 04:27:14,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:27:14,510 INFO L93 Difference]: Finished difference Result 283 states and 340 transitions. [2022-04-28 04:27:14,510 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 340 transitions. [2022-04-28 04:27:14,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:27:14,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:27:14,511 INFO L74 IsIncluded]: Start isIncluded. First operand has 283 states, 173 states have (on average 1.1329479768786128) internal successors, (196), 177 states have internal predecessors, (196), 73 states have call successors, (73), 37 states have call predecessors, (73), 36 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) Second operand 283 states. [2022-04-28 04:27:14,512 INFO L87 Difference]: Start difference. First operand has 283 states, 173 states have (on average 1.1329479768786128) internal successors, (196), 177 states have internal predecessors, (196), 73 states have call successors, (73), 37 states have call predecessors, (73), 36 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) Second operand 283 states. [2022-04-28 04:27:14,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:27:14,517 INFO L93 Difference]: Finished difference Result 283 states and 340 transitions. [2022-04-28 04:27:14,517 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 340 transitions. [2022-04-28 04:27:14,517 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:27:14,517 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:27:14,517 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:27:14,517 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:27:14,518 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 283 states, 173 states have (on average 1.1329479768786128) internal successors, (196), 177 states have internal predecessors, (196), 73 states have call successors, (73), 37 states have call predecessors, (73), 36 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) [2022-04-28 04:27:14,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 283 states to 283 states and 340 transitions. [2022-04-28 04:27:14,524 INFO L78 Accepts]: Start accepts. Automaton has 283 states and 340 transitions. Word has length 86 [2022-04-28 04:27:14,524 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:27:14,524 INFO L495 AbstractCegarLoop]: Abstraction has 283 states and 340 transitions. [2022-04-28 04:27:14,524 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 04:27:14,524 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 283 states and 340 transitions. [2022-04-28 04:27:17,005 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 340 edges. 340 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:27:17,005 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 340 transitions. [2022-04-28 04:27:17,007 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 04:27:17,007 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:27:17,007 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:27:17,026 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 04:27:17,215 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-28 04:27:17,215 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:27:17,216 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:27:17,216 INFO L85 PathProgramCache]: Analyzing trace with hash 396850335, now seen corresponding path program 9 times [2022-04-28 04:27:17,216 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:27:17,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1511729964] [2022-04-28 04:27:17,216 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:27:17,216 INFO L85 PathProgramCache]: Analyzing trace with hash 396850335, now seen corresponding path program 10 times [2022-04-28 04:27:17,216 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:27:17,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1174086143] [2022-04-28 04:27:17,216 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:27:17,217 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:27:17,224 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:27:17,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [47377306] [2022-04-28 04:27:17,225 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:27:17,225 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:27:17,225 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:27:17,226 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:27:17,227 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 04:27:17,275 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:27:17,275 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:27:17,277 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-28 04:27:17,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:27:17,300 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:27:20,978 INFO L272 TraceCheckUtils]: 0: Hoare triple {26757#true} call ULTIMATE.init(); {26757#true} is VALID [2022-04-28 04:27:20,979 INFO L290 TraceCheckUtils]: 1: Hoare triple {26757#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); {26757#true} is VALID [2022-04-28 04:27:20,979 INFO L290 TraceCheckUtils]: 2: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:27:20,979 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26757#true} {26757#true} #81#return; {26757#true} is VALID [2022-04-28 04:27:20,979 INFO L272 TraceCheckUtils]: 4: Hoare triple {26757#true} call #t~ret6 := main(); {26757#true} is VALID [2022-04-28 04:27:20,979 INFO L290 TraceCheckUtils]: 5: Hoare triple {26757#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {26757#true} is VALID [2022-04-28 04:27:20,979 INFO L272 TraceCheckUtils]: 6: Hoare triple {26757#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:27:20,979 INFO L290 TraceCheckUtils]: 7: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:27:20,979 INFO L290 TraceCheckUtils]: 8: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:27:20,979 INFO L290 TraceCheckUtils]: 9: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:27:20,979 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26757#true} {26757#true} #63#return; {26757#true} is VALID [2022-04-28 04:27:20,979 INFO L272 TraceCheckUtils]: 11: Hoare triple {26757#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:27:20,979 INFO L290 TraceCheckUtils]: 12: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:27:20,979 INFO L290 TraceCheckUtils]: 13: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:27:20,980 INFO L290 TraceCheckUtils]: 14: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:27:20,980 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {26757#true} {26757#true} #65#return; {26757#true} is VALID [2022-04-28 04:27:20,980 INFO L290 TraceCheckUtils]: 16: Hoare triple {26757#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {26810#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:27:20,980 INFO L290 TraceCheckUtils]: 17: Hoare triple {26810#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {26810#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:27:20,980 INFO L272 TraceCheckUtils]: 18: Hoare triple {26810#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= 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)); {26757#true} is VALID [2022-04-28 04:27:20,980 INFO L290 TraceCheckUtils]: 19: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:27:20,981 INFO L290 TraceCheckUtils]: 20: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:27:20,981 INFO L290 TraceCheckUtils]: 21: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:27:20,981 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {26757#true} {26810#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #67#return; {26810#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 04:27:20,981 INFO L272 TraceCheckUtils]: 23: Hoare triple {26810#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= 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)); {26757#true} is VALID [2022-04-28 04:27:20,981 INFO L290 TraceCheckUtils]: 24: Hoare triple {26757#true} ~cond := #in~cond; {26835#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:27:20,982 INFO L290 TraceCheckUtils]: 25: Hoare triple {26835#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:27:20,982 INFO L290 TraceCheckUtils]: 26: Hoare triple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:27:20,983 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} {26810#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #69#return; {26846#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} is VALID [2022-04-28 04:27:20,983 INFO L272 TraceCheckUtils]: 28: Hoare triple {26846#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:27:20,983 INFO L290 TraceCheckUtils]: 29: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:27:20,983 INFO L290 TraceCheckUtils]: 30: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:27:20,983 INFO L290 TraceCheckUtils]: 31: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:27:20,984 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {26757#true} {26846#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} #71#return; {26846#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} is VALID [2022-04-28 04:27:20,984 INFO L290 TraceCheckUtils]: 33: Hoare triple {26846#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {26846#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} is VALID [2022-04-28 04:27:20,986 INFO L290 TraceCheckUtils]: 34: Hoare triple {26846#(and (= main_~r~0 0) (= 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) (= 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; {26868#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:27:20,987 INFO L290 TraceCheckUtils]: 35: Hoare triple {26868#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} assume !false; {26868#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:27:20,987 INFO L272 TraceCheckUtils]: 36: Hoare triple {26868#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:27:20,987 INFO L290 TraceCheckUtils]: 37: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:27:20,987 INFO L290 TraceCheckUtils]: 38: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:27:20,987 INFO L290 TraceCheckUtils]: 39: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:27:20,988 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {26757#true} {26868#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #67#return; {26868#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:27:20,988 INFO L272 TraceCheckUtils]: 41: Hoare triple {26868#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:27:20,988 INFO L290 TraceCheckUtils]: 42: Hoare triple {26757#true} ~cond := #in~cond; {26835#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:27:20,988 INFO L290 TraceCheckUtils]: 43: Hoare triple {26835#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:27:20,988 INFO L290 TraceCheckUtils]: 44: Hoare triple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:27:20,989 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} {26868#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #69#return; {26902#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~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) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:27:20,989 INFO L272 TraceCheckUtils]: 46: Hoare triple {26902#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~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) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:27:20,989 INFO L290 TraceCheckUtils]: 47: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:27:20,989 INFO L290 TraceCheckUtils]: 48: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:27:20,990 INFO L290 TraceCheckUtils]: 49: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:27:20,990 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {26757#true} {26902#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~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) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #71#return; {26902#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~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) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:27:20,991 INFO L290 TraceCheckUtils]: 51: Hoare triple {26902#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~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) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {26902#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~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) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:27:20,994 INFO L290 TraceCheckUtils]: 52: Hoare triple {26902#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~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) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {26924#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 04:27:20,994 INFO L290 TraceCheckUtils]: 53: Hoare triple {26924#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !false; {26924#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 04:27:20,995 INFO L272 TraceCheckUtils]: 54: Hoare triple {26924#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:27:20,995 INFO L290 TraceCheckUtils]: 55: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:27:20,995 INFO L290 TraceCheckUtils]: 56: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:27:20,995 INFO L290 TraceCheckUtils]: 57: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:27:20,995 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {26757#true} {26924#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #67#return; {26924#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 04:27:20,995 INFO L272 TraceCheckUtils]: 59: Hoare triple {26924#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:27:20,996 INFO L290 TraceCheckUtils]: 60: Hoare triple {26757#true} ~cond := #in~cond; {26835#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:27:20,996 INFO L290 TraceCheckUtils]: 61: Hoare triple {26835#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:27:20,996 INFO L290 TraceCheckUtils]: 62: Hoare triple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:27:20,997 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} {26924#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #69#return; {26924#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 04:27:20,997 INFO L272 TraceCheckUtils]: 64: Hoare triple {26924#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:27:20,997 INFO L290 TraceCheckUtils]: 65: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:27:20,997 INFO L290 TraceCheckUtils]: 66: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:27:20,997 INFO L290 TraceCheckUtils]: 67: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:27:20,998 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {26757#true} {26924#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #71#return; {26924#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 04:27:20,998 INFO L290 TraceCheckUtils]: 69: Hoare triple {26924#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(~a~0 != ~b~0); {26924#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-28 04:27:20,999 INFO L290 TraceCheckUtils]: 70: Hoare triple {26924#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~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; {26979#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:27:21,000 INFO L290 TraceCheckUtils]: 71: Hoare triple {26979#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {26979#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:27:21,000 INFO L272 TraceCheckUtils]: 72: Hoare triple {26979#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= 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)); {26757#true} is VALID [2022-04-28 04:27:21,000 INFO L290 TraceCheckUtils]: 73: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:27:21,000 INFO L290 TraceCheckUtils]: 74: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:27:21,000 INFO L290 TraceCheckUtils]: 75: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:27:21,001 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {26757#true} {26979#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #67#return; {26979#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:27:21,001 INFO L272 TraceCheckUtils]: 77: Hoare triple {26979#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= 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)); {26757#true} is VALID [2022-04-28 04:27:21,001 INFO L290 TraceCheckUtils]: 78: Hoare triple {26757#true} ~cond := #in~cond; {26835#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:27:21,001 INFO L290 TraceCheckUtils]: 79: Hoare triple {26835#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:27:21,002 INFO L290 TraceCheckUtils]: 80: Hoare triple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:27:21,002 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} {26979#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #69#return; {26979#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:27:21,002 INFO L272 TraceCheckUtils]: 82: Hoare triple {26979#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= 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)); {26757#true} is VALID [2022-04-28 04:27:21,002 INFO L290 TraceCheckUtils]: 83: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:27:21,003 INFO L290 TraceCheckUtils]: 84: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:27:21,003 INFO L290 TraceCheckUtils]: 85: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:27:21,003 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {26757#true} {26979#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #71#return; {26979#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:27:21,004 INFO L290 TraceCheckUtils]: 87: Hoare triple {26979#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {26979#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:27:21,009 INFO L290 TraceCheckUtils]: 88: Hoare triple {26979#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= 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; {27034#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} is VALID [2022-04-28 04:27:21,009 INFO L290 TraceCheckUtils]: 89: Hoare triple {27034#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} assume !false; {27034#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} is VALID [2022-04-28 04:27:21,009 INFO L272 TraceCheckUtils]: 90: Hoare triple {27034#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:27:21,009 INFO L290 TraceCheckUtils]: 91: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:27:21,009 INFO L290 TraceCheckUtils]: 92: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:27:21,010 INFO L290 TraceCheckUtils]: 93: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:27:21,010 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {26757#true} {27034#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} #67#return; {27034#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} is VALID [2022-04-28 04:27:21,014 INFO L272 TraceCheckUtils]: 95: Hoare triple {27034#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27056#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:27:21,015 INFO L290 TraceCheckUtils]: 96: Hoare triple {27056#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27060#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:27:21,015 INFO L290 TraceCheckUtils]: 97: Hoare triple {27060#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {26758#false} is VALID [2022-04-28 04:27:21,015 INFO L290 TraceCheckUtils]: 98: Hoare triple {26758#false} assume !false; {26758#false} is VALID [2022-04-28 04:27:21,016 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 70 proven. 112 refuted. 0 times theorem prover too weak. 208 trivial. 0 not checked. [2022-04-28 04:27:21,016 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:28:24,923 INFO L290 TraceCheckUtils]: 98: Hoare triple {26758#false} assume !false; {26758#false} is VALID [2022-04-28 04:28:24,924 INFO L290 TraceCheckUtils]: 97: Hoare triple {27060#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {26758#false} is VALID [2022-04-28 04:28:24,924 INFO L290 TraceCheckUtils]: 96: Hoare triple {27056#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27060#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:28:24,925 INFO L272 TraceCheckUtils]: 95: Hoare triple {27076#(= 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)); {27056#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:28:24,926 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {26757#true} {27076#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {27076#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:28:24,926 INFO L290 TraceCheckUtils]: 93: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:28:24,926 INFO L290 TraceCheckUtils]: 92: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:28:24,926 INFO L290 TraceCheckUtils]: 91: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:28:24,926 INFO L272 TraceCheckUtils]: 90: Hoare triple {27076#(= 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)); {26757#true} is VALID [2022-04-28 04:28:24,927 INFO L290 TraceCheckUtils]: 89: Hoare triple {27076#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {27076#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:28:25,577 INFO L290 TraceCheckUtils]: 88: Hoare triple {27098#(= (+ main_~a~0 (* (- 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; {27076#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:28:25,577 INFO L290 TraceCheckUtils]: 87: Hoare triple {27098#(= (+ main_~a~0 (* (- 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); {27098#(= (+ main_~a~0 (* (- 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 04:28:25,578 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {26757#true} {27098#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #71#return; {27098#(= (+ main_~a~0 (* (- 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 04:28:25,578 INFO L290 TraceCheckUtils]: 85: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:28:25,578 INFO L290 TraceCheckUtils]: 84: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:28:25,578 INFO L290 TraceCheckUtils]: 83: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:28:25,578 INFO L272 TraceCheckUtils]: 82: Hoare triple {27098#(= (+ main_~a~0 (* (- 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)); {26757#true} is VALID [2022-04-28 04:28:25,579 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} {27120#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #69#return; {27098#(= (+ main_~a~0 (* (- 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 04:28:25,579 INFO L290 TraceCheckUtils]: 80: Hoare triple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:28:25,580 INFO L290 TraceCheckUtils]: 79: Hoare triple {27130#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:28:25,580 INFO L290 TraceCheckUtils]: 78: Hoare triple {26757#true} ~cond := #in~cond; {27130#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:28:25,580 INFO L272 TraceCheckUtils]: 77: Hoare triple {27120#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:28:25,581 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {26757#true} {27120#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #67#return; {27120#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 04:28:25,581 INFO L290 TraceCheckUtils]: 75: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:28:25,581 INFO L290 TraceCheckUtils]: 74: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:28:25,581 INFO L290 TraceCheckUtils]: 73: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:28:25,581 INFO L272 TraceCheckUtils]: 72: Hoare triple {27120#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:28:25,581 INFO L290 TraceCheckUtils]: 71: Hoare triple {27120#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {27120#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 04:28:25,618 INFO L290 TraceCheckUtils]: 70: Hoare triple {27155#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (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; {27120#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 04:28:25,619 INFO L290 TraceCheckUtils]: 69: Hoare triple {27155#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (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); {27155#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (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 04:28:25,620 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {26757#true} {27155#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (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)))))))} #71#return; {27155#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (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 04:28:25,620 INFO L290 TraceCheckUtils]: 67: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:28:25,620 INFO L290 TraceCheckUtils]: 66: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:28:25,620 INFO L290 TraceCheckUtils]: 65: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:28:25,620 INFO L272 TraceCheckUtils]: 64: Hoare triple {27155#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (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)); {26757#true} is VALID [2022-04-28 04:28:25,622 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} {26757#true} #69#return; {27155#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (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 04:28:25,623 INFO L290 TraceCheckUtils]: 62: Hoare triple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:28:25,623 INFO L290 TraceCheckUtils]: 61: Hoare triple {27130#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:28:25,623 INFO L290 TraceCheckUtils]: 60: Hoare triple {26757#true} ~cond := #in~cond; {27130#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:28:25,624 INFO L272 TraceCheckUtils]: 59: Hoare triple {26757#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:28:25,624 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {26757#true} {26757#true} #67#return; {26757#true} is VALID [2022-04-28 04:28:25,624 INFO L290 TraceCheckUtils]: 57: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:28:25,624 INFO L290 TraceCheckUtils]: 56: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:28:25,624 INFO L290 TraceCheckUtils]: 55: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:28:25,624 INFO L272 TraceCheckUtils]: 54: Hoare triple {26757#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:28:25,624 INFO L290 TraceCheckUtils]: 53: Hoare triple {26757#true} assume !false; {26757#true} is VALID [2022-04-28 04:28:25,624 INFO L290 TraceCheckUtils]: 52: Hoare triple {26757#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {26757#true} is VALID [2022-04-28 04:28:25,624 INFO L290 TraceCheckUtils]: 51: Hoare triple {26757#true} assume !!(~a~0 != ~b~0); {26757#true} is VALID [2022-04-28 04:28:25,624 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {26757#true} {26757#true} #71#return; {26757#true} is VALID [2022-04-28 04:28:25,624 INFO L290 TraceCheckUtils]: 49: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:28:25,624 INFO L290 TraceCheckUtils]: 48: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:28:25,624 INFO L290 TraceCheckUtils]: 47: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:28:25,624 INFO L272 TraceCheckUtils]: 46: Hoare triple {26757#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:28:25,625 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {26757#true} {26757#true} #69#return; {26757#true} is VALID [2022-04-28 04:28:25,625 INFO L290 TraceCheckUtils]: 44: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:28:25,625 INFO L290 TraceCheckUtils]: 43: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:28:25,625 INFO L290 TraceCheckUtils]: 42: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:28:25,625 INFO L272 TraceCheckUtils]: 41: Hoare triple {26757#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:28:25,625 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {26757#true} {26757#true} #67#return; {26757#true} is VALID [2022-04-28 04:28:25,625 INFO L290 TraceCheckUtils]: 39: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:28:25,625 INFO L290 TraceCheckUtils]: 38: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:28:25,625 INFO L290 TraceCheckUtils]: 37: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:28:25,625 INFO L272 TraceCheckUtils]: 36: Hoare triple {26757#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:28:25,625 INFO L290 TraceCheckUtils]: 35: Hoare triple {26757#true} assume !false; {26757#true} is VALID [2022-04-28 04:28:25,625 INFO L290 TraceCheckUtils]: 34: Hoare triple {26757#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {26757#true} is VALID [2022-04-28 04:28:25,625 INFO L290 TraceCheckUtils]: 33: Hoare triple {26757#true} assume !!(~a~0 != ~b~0); {26757#true} is VALID [2022-04-28 04:28:25,625 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {26757#true} {26757#true} #71#return; {26757#true} is VALID [2022-04-28 04:28:25,625 INFO L290 TraceCheckUtils]: 31: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:28:25,626 INFO L290 TraceCheckUtils]: 30: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:28:25,626 INFO L290 TraceCheckUtils]: 29: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:28:25,626 INFO L272 TraceCheckUtils]: 28: Hoare triple {26757#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:28:25,626 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {26757#true} {26757#true} #69#return; {26757#true} is VALID [2022-04-28 04:28:25,626 INFO L290 TraceCheckUtils]: 26: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:28:25,626 INFO L290 TraceCheckUtils]: 25: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:28:25,626 INFO L290 TraceCheckUtils]: 24: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:28:25,626 INFO L272 TraceCheckUtils]: 23: Hoare triple {26757#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:28:25,626 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {26757#true} {26757#true} #67#return; {26757#true} is VALID [2022-04-28 04:28:25,626 INFO L290 TraceCheckUtils]: 21: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:28:25,626 INFO L290 TraceCheckUtils]: 20: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:28:25,626 INFO L290 TraceCheckUtils]: 19: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:28:25,626 INFO L272 TraceCheckUtils]: 18: Hoare triple {26757#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:28:25,626 INFO L290 TraceCheckUtils]: 17: Hoare triple {26757#true} assume !false; {26757#true} is VALID [2022-04-28 04:28:25,626 INFO L290 TraceCheckUtils]: 16: Hoare triple {26757#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {26757#true} is VALID [2022-04-28 04:28:25,627 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {26757#true} {26757#true} #65#return; {26757#true} is VALID [2022-04-28 04:28:25,627 INFO L290 TraceCheckUtils]: 14: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:28:25,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:28:25,627 INFO L290 TraceCheckUtils]: 12: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:28:25,627 INFO L272 TraceCheckUtils]: 11: Hoare triple {26757#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:28:25,627 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26757#true} {26757#true} #63#return; {26757#true} is VALID [2022-04-28 04:28:25,627 INFO L290 TraceCheckUtils]: 9: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:28:25,627 INFO L290 TraceCheckUtils]: 8: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-28 04:28:25,627 INFO L290 TraceCheckUtils]: 7: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-28 04:28:25,627 INFO L272 TraceCheckUtils]: 6: Hoare triple {26757#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {26757#true} is VALID [2022-04-28 04:28:25,627 INFO L290 TraceCheckUtils]: 5: Hoare triple {26757#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {26757#true} is VALID [2022-04-28 04:28:25,627 INFO L272 TraceCheckUtils]: 4: Hoare triple {26757#true} call #t~ret6 := main(); {26757#true} is VALID [2022-04-28 04:28:25,627 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26757#true} {26757#true} #81#return; {26757#true} is VALID [2022-04-28 04:28:25,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-28 04:28:25,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {26757#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); {26757#true} is VALID [2022-04-28 04:28:25,628 INFO L272 TraceCheckUtils]: 0: Hoare triple {26757#true} call ULTIMATE.init(); {26757#true} is VALID [2022-04-28 04:28:25,628 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 102 proven. 26 refuted. 0 times theorem prover too weak. 262 trivial. 0 not checked. [2022-04-28 04:28:25,628 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:28:25,628 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1174086143] [2022-04-28 04:28:25,628 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:28:25,628 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [47377306] [2022-04-28 04:28:25,628 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [47377306] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:28:25,628 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:28:25,628 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 04:28:25,629 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:28:25,629 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1511729964] [2022-04-28 04:28:25,629 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1511729964] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:28:25,629 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:28:25,629 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 04:28:25,629 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [346239840] [2022-04-28 04:28:25,629 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:28:25,629 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) Word has length 99 [2022-04-28 04:28:25,630 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:28:25,630 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-28 04:28:25,725 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 04:28:25,725 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 04:28:25,725 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:28:25,726 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 04:28:25,726 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=247, Unknown=0, NotChecked=0, Total=306 [2022-04-28 04:28:25,726 INFO L87 Difference]: Start difference. First operand 283 states and 340 transitions. Second operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-28 04:28:30,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:28:30,672 INFO L93 Difference]: Finished difference Result 313 states and 379 transitions. [2022-04-28 04:28:30,672 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 04:28:30,673 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) Word has length 99 [2022-04-28 04:28:30,673 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:28:30,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-28 04:28:30,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-28 04:28:30,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-28 04:28:30,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-28 04:28:30,675 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 100 transitions. [2022-04-28 04:28:30,865 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:28:30,870 INFO L225 Difference]: With dead ends: 313 [2022-04-28 04:28:30,871 INFO L226 Difference]: Without dead ends: 311 [2022-04-28 04:28:30,871 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 199 GetRequests, 178 SyntacticMatches, 3 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=72, Invalid=308, Unknown=0, NotChecked=0, Total=380 [2022-04-28 04:28:30,871 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 15 mSDsluCounter, 217 mSDsCounter, 0 mSdLazyCounter, 750 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 264 SdHoareTripleChecker+Invalid, 764 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 750 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:28:30,871 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 264 Invalid, 764 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 750 Invalid, 0 Unknown, 0 Unchecked, 2.3s Time] [2022-04-28 04:28:30,872 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 311 states. [2022-04-28 04:28:31,249 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 311 to 307. [2022-04-28 04:28:31,249 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:28:31,249 INFO L82 GeneralOperation]: Start isEquivalent. First operand 311 states. Second operand has 307 states, 188 states have (on average 1.1382978723404256) internal successors, (214), 192 states have internal predecessors, (214), 79 states have call successors, (79), 40 states have call predecessors, (79), 39 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 04:28:31,250 INFO L74 IsIncluded]: Start isIncluded. First operand 311 states. Second operand has 307 states, 188 states have (on average 1.1382978723404256) internal successors, (214), 192 states have internal predecessors, (214), 79 states have call successors, (79), 40 states have call predecessors, (79), 39 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 04:28:31,250 INFO L87 Difference]: Start difference. First operand 311 states. Second operand has 307 states, 188 states have (on average 1.1382978723404256) internal successors, (214), 192 states have internal predecessors, (214), 79 states have call successors, (79), 40 states have call predecessors, (79), 39 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 04:28:31,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:28:31,255 INFO L93 Difference]: Finished difference Result 311 states and 377 transitions. [2022-04-28 04:28:31,255 INFO L276 IsEmpty]: Start isEmpty. Operand 311 states and 377 transitions. [2022-04-28 04:28:31,255 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:28:31,255 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:28:31,256 INFO L74 IsIncluded]: Start isIncluded. First operand has 307 states, 188 states have (on average 1.1382978723404256) internal successors, (214), 192 states have internal predecessors, (214), 79 states have call successors, (79), 40 states have call predecessors, (79), 39 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) Second operand 311 states. [2022-04-28 04:28:31,256 INFO L87 Difference]: Start difference. First operand has 307 states, 188 states have (on average 1.1382978723404256) internal successors, (214), 192 states have internal predecessors, (214), 79 states have call successors, (79), 40 states have call predecessors, (79), 39 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) Second operand 311 states. [2022-04-28 04:28:31,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:28:31,261 INFO L93 Difference]: Finished difference Result 311 states and 377 transitions. [2022-04-28 04:28:31,261 INFO L276 IsEmpty]: Start isEmpty. Operand 311 states and 377 transitions. [2022-04-28 04:28:31,262 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:28:31,262 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:28:31,262 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:28:31,262 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:28:31,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 307 states, 188 states have (on average 1.1382978723404256) internal successors, (214), 192 states have internal predecessors, (214), 79 states have call successors, (79), 40 states have call predecessors, (79), 39 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 04:28:31,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 307 states to 307 states and 370 transitions. [2022-04-28 04:28:31,268 INFO L78 Accepts]: Start accepts. Automaton has 307 states and 370 transitions. Word has length 99 [2022-04-28 04:28:31,268 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:28:31,268 INFO L495 AbstractCegarLoop]: Abstraction has 307 states and 370 transitions. [2022-04-28 04:28:31,269 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-28 04:28:31,269 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 307 states and 370 transitions. [2022-04-28 04:28:34,013 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 370 edges. 370 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:28:34,013 INFO L276 IsEmpty]: Start isEmpty. Operand 307 states and 370 transitions. [2022-04-28 04:28:34,014 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 04:28:34,014 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:28:34,014 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:28:34,033 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-28 04:28:34,223 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-28 04:28:34,223 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:28:34,224 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:28:34,224 INFO L85 PathProgramCache]: Analyzing trace with hash 1783053729, now seen corresponding path program 19 times [2022-04-28 04:28:34,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:28:34,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1854000509] [2022-04-28 04:28:34,224 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:28:34,224 INFO L85 PathProgramCache]: Analyzing trace with hash 1783053729, now seen corresponding path program 20 times [2022-04-28 04:28:34,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:28:34,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1252455850] [2022-04-28 04:28:34,224 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:28:34,225 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:28:34,233 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:28:34,233 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [679227779] [2022-04-28 04:28:34,233 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:28:34,233 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:28:34,233 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:28:34,234 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:28:34,235 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 04:28:34,287 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:28:34,287 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:28:34,289 INFO L263 TraceCheckSpWp]: Trace formula consists of 240 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 04:28:34,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:28:34,307 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:28:35,476 INFO L272 TraceCheckUtils]: 0: Hoare triple {29234#true} call ULTIMATE.init(); {29234#true} is VALID [2022-04-28 04:28:35,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {29234#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); {29234#true} is VALID [2022-04-28 04:28:35,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:35,476 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29234#true} {29234#true} #81#return; {29234#true} is VALID [2022-04-28 04:28:35,476 INFO L272 TraceCheckUtils]: 4: Hoare triple {29234#true} call #t~ret6 := main(); {29234#true} is VALID [2022-04-28 04:28:35,476 INFO L290 TraceCheckUtils]: 5: Hoare triple {29234#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29234#true} is VALID [2022-04-28 04:28:35,476 INFO L272 TraceCheckUtils]: 6: Hoare triple {29234#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:35,476 INFO L290 TraceCheckUtils]: 7: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:35,476 INFO L290 TraceCheckUtils]: 8: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:35,477 INFO L290 TraceCheckUtils]: 9: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:35,477 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29234#true} {29234#true} #63#return; {29234#true} is VALID [2022-04-28 04:28:35,477 INFO L272 TraceCheckUtils]: 11: Hoare triple {29234#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:35,477 INFO L290 TraceCheckUtils]: 12: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:35,477 INFO L290 TraceCheckUtils]: 13: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:35,477 INFO L290 TraceCheckUtils]: 14: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:35,477 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29234#true} {29234#true} #65#return; {29234#true} is VALID [2022-04-28 04:28:35,477 INFO L290 TraceCheckUtils]: 16: Hoare triple {29234#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29287#(and (= 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 04:28:35,478 INFO L290 TraceCheckUtils]: 17: Hoare triple {29287#(and (= 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; {29287#(and (= 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 04:28:35,478 INFO L272 TraceCheckUtils]: 18: Hoare triple {29287#(and (= 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)); {29234#true} is VALID [2022-04-28 04:28:35,478 INFO L290 TraceCheckUtils]: 19: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:35,478 INFO L290 TraceCheckUtils]: 20: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:35,478 INFO L290 TraceCheckUtils]: 21: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:35,478 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {29234#true} {29287#(and (= 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))} #67#return; {29287#(and (= 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 04:28:35,479 INFO L272 TraceCheckUtils]: 23: Hoare triple {29287#(and (= 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)); {29234#true} is VALID [2022-04-28 04:28:35,479 INFO L290 TraceCheckUtils]: 24: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:35,479 INFO L290 TraceCheckUtils]: 25: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:35,479 INFO L290 TraceCheckUtils]: 26: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:35,479 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {29234#true} {29287#(and (= 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))} #69#return; {29287#(and (= 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 04:28:35,479 INFO L272 TraceCheckUtils]: 28: Hoare triple {29287#(and (= 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)); {29234#true} is VALID [2022-04-28 04:28:35,479 INFO L290 TraceCheckUtils]: 29: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:35,480 INFO L290 TraceCheckUtils]: 30: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:35,480 INFO L290 TraceCheckUtils]: 31: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:35,480 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {29234#true} {29287#(and (= 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))} #71#return; {29287#(and (= 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 04:28:35,480 INFO L290 TraceCheckUtils]: 33: Hoare triple {29287#(and (= 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); {29287#(and (= 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 04:28:35,481 INFO L290 TraceCheckUtils]: 34: Hoare triple {29287#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {29342#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 04:28:35,481 INFO L290 TraceCheckUtils]: 35: Hoare triple {29342#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !false; {29342#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 04:28:35,481 INFO L272 TraceCheckUtils]: 36: Hoare triple {29342#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:35,482 INFO L290 TraceCheckUtils]: 37: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:35,482 INFO L290 TraceCheckUtils]: 38: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:35,482 INFO L290 TraceCheckUtils]: 39: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:35,482 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {29234#true} {29342#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #67#return; {29342#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 04:28:35,482 INFO L272 TraceCheckUtils]: 41: Hoare triple {29342#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:35,482 INFO L290 TraceCheckUtils]: 42: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:35,482 INFO L290 TraceCheckUtils]: 43: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:35,482 INFO L290 TraceCheckUtils]: 44: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:35,483 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {29234#true} {29342#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #69#return; {29342#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 04:28:35,483 INFO L272 TraceCheckUtils]: 46: Hoare triple {29342#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:35,483 INFO L290 TraceCheckUtils]: 47: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:35,483 INFO L290 TraceCheckUtils]: 48: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:35,483 INFO L290 TraceCheckUtils]: 49: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:35,484 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {29234#true} {29342#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #71#return; {29342#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 04:28:35,484 INFO L290 TraceCheckUtils]: 51: Hoare triple {29342#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {29342#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-28 04:28:35,486 INFO L290 TraceCheckUtils]: 52: Hoare triple {29342#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~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; {29397#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 04:28:35,486 INFO L290 TraceCheckUtils]: 53: Hoare triple {29397#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} assume !false; {29397#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 04:28:35,487 INFO L272 TraceCheckUtils]: 54: Hoare triple {29397#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:35,487 INFO L290 TraceCheckUtils]: 55: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:35,487 INFO L290 TraceCheckUtils]: 56: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:35,487 INFO L290 TraceCheckUtils]: 57: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:35,487 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {29234#true} {29397#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #67#return; {29397#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 04:28:35,487 INFO L272 TraceCheckUtils]: 59: Hoare triple {29397#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:35,488 INFO L290 TraceCheckUtils]: 60: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:35,488 INFO L290 TraceCheckUtils]: 61: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:35,488 INFO L290 TraceCheckUtils]: 62: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:35,488 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {29234#true} {29397#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #69#return; {29397#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 04:28:35,488 INFO L272 TraceCheckUtils]: 64: Hoare triple {29397#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:35,488 INFO L290 TraceCheckUtils]: 65: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:35,488 INFO L290 TraceCheckUtils]: 66: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:35,489 INFO L290 TraceCheckUtils]: 67: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:35,489 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {29234#true} {29397#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #71#return; {29397#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-28 04:28:35,490 INFO L290 TraceCheckUtils]: 69: Hoare triple {29397#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {29449#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-28 04:28:35,490 INFO L290 TraceCheckUtils]: 70: Hoare triple {29449#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {29453#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 04:28:35,491 INFO L290 TraceCheckUtils]: 71: Hoare triple {29453#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {29453#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 04:28:35,491 INFO L272 TraceCheckUtils]: 72: Hoare triple {29453#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~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)); {29234#true} is VALID [2022-04-28 04:28:35,491 INFO L290 TraceCheckUtils]: 73: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:35,491 INFO L290 TraceCheckUtils]: 74: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:35,491 INFO L290 TraceCheckUtils]: 75: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:35,492 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {29234#true} {29453#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #67#return; {29453#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 04:28:35,492 INFO L272 TraceCheckUtils]: 77: Hoare triple {29453#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:35,492 INFO L290 TraceCheckUtils]: 78: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:35,492 INFO L290 TraceCheckUtils]: 79: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:35,492 INFO L290 TraceCheckUtils]: 80: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:35,492 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {29234#true} {29453#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #69#return; {29453#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 04:28:35,492 INFO L272 TraceCheckUtils]: 82: Hoare triple {29453#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:35,493 INFO L290 TraceCheckUtils]: 83: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:35,493 INFO L290 TraceCheckUtils]: 84: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:35,493 INFO L290 TraceCheckUtils]: 85: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:35,493 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {29234#true} {29453#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #71#return; {29453#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 04:28:35,494 INFO L290 TraceCheckUtils]: 87: Hoare triple {29453#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {29453#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-28 04:28:35,496 INFO L290 TraceCheckUtils]: 88: Hoare triple {29453#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~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; {29508#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} is VALID [2022-04-28 04:28:35,496 INFO L290 TraceCheckUtils]: 89: Hoare triple {29508#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} assume !false; {29508#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} is VALID [2022-04-28 04:28:35,496 INFO L272 TraceCheckUtils]: 90: Hoare triple {29508#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:35,497 INFO L290 TraceCheckUtils]: 91: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:35,497 INFO L290 TraceCheckUtils]: 92: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:35,497 INFO L290 TraceCheckUtils]: 93: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:35,497 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29234#true} {29508#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} #67#return; {29508#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} is VALID [2022-04-28 04:28:35,498 INFO L272 TraceCheckUtils]: 95: Hoare triple {29508#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29530#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:28:35,498 INFO L290 TraceCheckUtils]: 96: Hoare triple {29530#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29534#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:28:35,499 INFO L290 TraceCheckUtils]: 97: Hoare triple {29534#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29235#false} is VALID [2022-04-28 04:28:35,499 INFO L290 TraceCheckUtils]: 98: Hoare triple {29235#false} assume !false; {29235#false} is VALID [2022-04-28 04:28:35,499 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 26 proven. 48 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-28 04:28:35,499 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:28:36,306 INFO L290 TraceCheckUtils]: 98: Hoare triple {29235#false} assume !false; {29235#false} is VALID [2022-04-28 04:28:36,307 INFO L290 TraceCheckUtils]: 97: Hoare triple {29534#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29235#false} is VALID [2022-04-28 04:28:36,307 INFO L290 TraceCheckUtils]: 96: Hoare triple {29530#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29534#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:28:36,308 INFO L272 TraceCheckUtils]: 95: Hoare triple {29550#(= 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)); {29530#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:28:36,308 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29234#true} {29550#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {29550#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:28:36,308 INFO L290 TraceCheckUtils]: 93: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:36,308 INFO L290 TraceCheckUtils]: 92: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:36,308 INFO L290 TraceCheckUtils]: 91: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:36,308 INFO L272 TraceCheckUtils]: 90: Hoare triple {29550#(= 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)); {29234#true} is VALID [2022-04-28 04:28:36,309 INFO L290 TraceCheckUtils]: 89: Hoare triple {29550#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {29550#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:28:36,369 INFO L290 TraceCheckUtils]: 88: Hoare triple {29572#(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; {29550#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:28:36,370 INFO L290 TraceCheckUtils]: 87: Hoare triple {29572#(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); {29572#(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 04:28:36,370 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {29234#true} {29572#(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)))} #71#return; {29572#(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 04:28:36,371 INFO L290 TraceCheckUtils]: 85: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:36,371 INFO L290 TraceCheckUtils]: 84: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:36,371 INFO L290 TraceCheckUtils]: 83: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:36,371 INFO L272 TraceCheckUtils]: 82: Hoare triple {29572#(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)); {29234#true} is VALID [2022-04-28 04:28:36,371 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {29234#true} {29572#(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)))} #69#return; {29572#(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 04:28:36,371 INFO L290 TraceCheckUtils]: 80: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:36,371 INFO L290 TraceCheckUtils]: 79: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:36,371 INFO L290 TraceCheckUtils]: 78: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:36,372 INFO L272 TraceCheckUtils]: 77: Hoare triple {29572#(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 ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:36,372 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {29234#true} {29572#(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)))} #67#return; {29572#(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 04:28:36,372 INFO L290 TraceCheckUtils]: 75: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:36,372 INFO L290 TraceCheckUtils]: 74: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:36,372 INFO L290 TraceCheckUtils]: 73: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:36,372 INFO L272 TraceCheckUtils]: 72: Hoare triple {29572#(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 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:36,373 INFO L290 TraceCheckUtils]: 71: Hoare triple {29572#(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 !false; {29572#(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 04:28:36,871 INFO L290 TraceCheckUtils]: 70: Hoare triple {29627#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {29572#(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 04:28:36,872 INFO L290 TraceCheckUtils]: 69: Hoare triple {29631#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(~a~0 != ~b~0); {29627#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 04:28:36,872 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {29234#true} {29631#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #71#return; {29631#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 04:28:36,873 INFO L290 TraceCheckUtils]: 67: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:36,873 INFO L290 TraceCheckUtils]: 66: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:36,873 INFO L290 TraceCheckUtils]: 65: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:36,873 INFO L272 TraceCheckUtils]: 64: Hoare triple {29631#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:36,873 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {29234#true} {29631#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #69#return; {29631#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 04:28:36,873 INFO L290 TraceCheckUtils]: 62: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:36,873 INFO L290 TraceCheckUtils]: 61: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:36,874 INFO L290 TraceCheckUtils]: 60: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:36,874 INFO L272 TraceCheckUtils]: 59: Hoare triple {29631#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:36,874 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {29234#true} {29631#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #67#return; {29631#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 04:28:36,874 INFO L290 TraceCheckUtils]: 57: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:36,874 INFO L290 TraceCheckUtils]: 56: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:36,874 INFO L290 TraceCheckUtils]: 55: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:36,874 INFO L272 TraceCheckUtils]: 54: Hoare triple {29631#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:36,875 INFO L290 TraceCheckUtils]: 53: Hoare triple {29631#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !false; {29631#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-28 04:28:38,878 WARN L290 TraceCheckUtils]: 52: Hoare triple {29683#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {29631#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is UNKNOWN [2022-04-28 04:28:38,879 INFO L290 TraceCheckUtils]: 51: Hoare triple {29683#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} assume !!(~a~0 != ~b~0); {29683#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 04:28:38,880 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {29234#true} {29683#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #71#return; {29683#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 04:28:38,880 INFO L290 TraceCheckUtils]: 49: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:38,880 INFO L290 TraceCheckUtils]: 48: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:38,880 INFO L290 TraceCheckUtils]: 47: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:38,880 INFO L272 TraceCheckUtils]: 46: Hoare triple {29683#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:38,881 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {29234#true} {29683#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #69#return; {29683#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 04:28:38,881 INFO L290 TraceCheckUtils]: 44: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:38,881 INFO L290 TraceCheckUtils]: 43: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:38,881 INFO L290 TraceCheckUtils]: 42: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:38,881 INFO L272 TraceCheckUtils]: 41: Hoare triple {29683#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:38,882 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {29234#true} {29683#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #67#return; {29683#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 04:28:38,882 INFO L290 TraceCheckUtils]: 39: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:38,882 INFO L290 TraceCheckUtils]: 38: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:38,882 INFO L290 TraceCheckUtils]: 37: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:38,882 INFO L272 TraceCheckUtils]: 36: Hoare triple {29683#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:38,882 INFO L290 TraceCheckUtils]: 35: Hoare triple {29683#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} assume !false; {29683#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 04:28:39,021 INFO L290 TraceCheckUtils]: 34: Hoare triple {29738#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {29683#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-28 04:28:39,021 INFO L290 TraceCheckUtils]: 33: Hoare triple {29738#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} assume !!(~a~0 != ~b~0); {29738#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 04:28:39,022 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {29234#true} {29738#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #71#return; {29738#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 04:28:39,022 INFO L290 TraceCheckUtils]: 31: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:39,022 INFO L290 TraceCheckUtils]: 30: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:39,022 INFO L290 TraceCheckUtils]: 29: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:39,022 INFO L272 TraceCheckUtils]: 28: Hoare triple {29738#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:39,023 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {29234#true} {29738#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #69#return; {29738#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 04:28:39,023 INFO L290 TraceCheckUtils]: 26: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:39,023 INFO L290 TraceCheckUtils]: 25: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:39,023 INFO L290 TraceCheckUtils]: 24: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:39,023 INFO L272 TraceCheckUtils]: 23: Hoare triple {29738#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:39,024 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {29234#true} {29738#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #67#return; {29738#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 04:28:39,024 INFO L290 TraceCheckUtils]: 21: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:39,024 INFO L290 TraceCheckUtils]: 20: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:39,024 INFO L290 TraceCheckUtils]: 19: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:39,024 INFO L272 TraceCheckUtils]: 18: Hoare triple {29738#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:39,025 INFO L290 TraceCheckUtils]: 17: Hoare triple {29738#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} assume !false; {29738#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 04:28:39,025 INFO L290 TraceCheckUtils]: 16: Hoare triple {29234#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29738#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-28 04:28:39,025 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29234#true} {29234#true} #65#return; {29234#true} is VALID [2022-04-28 04:28:39,025 INFO L290 TraceCheckUtils]: 14: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:39,025 INFO L290 TraceCheckUtils]: 13: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:39,025 INFO L290 TraceCheckUtils]: 12: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:39,026 INFO L272 TraceCheckUtils]: 11: Hoare triple {29234#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:39,026 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29234#true} {29234#true} #63#return; {29234#true} is VALID [2022-04-28 04:28:39,026 INFO L290 TraceCheckUtils]: 9: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:39,026 INFO L290 TraceCheckUtils]: 8: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-28 04:28:39,026 INFO L290 TraceCheckUtils]: 7: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-28 04:28:39,026 INFO L272 TraceCheckUtils]: 6: Hoare triple {29234#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29234#true} is VALID [2022-04-28 04:28:39,026 INFO L290 TraceCheckUtils]: 5: Hoare triple {29234#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29234#true} is VALID [2022-04-28 04:28:39,026 INFO L272 TraceCheckUtils]: 4: Hoare triple {29234#true} call #t~ret6 := main(); {29234#true} is VALID [2022-04-28 04:28:39,026 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29234#true} {29234#true} #81#return; {29234#true} is VALID [2022-04-28 04:28:39,026 INFO L290 TraceCheckUtils]: 2: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-28 04:28:39,026 INFO L290 TraceCheckUtils]: 1: Hoare triple {29234#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); {29234#true} is VALID [2022-04-28 04:28:39,026 INFO L272 TraceCheckUtils]: 0: Hoare triple {29234#true} call ULTIMATE.init(); {29234#true} is VALID [2022-04-28 04:28:39,027 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 26 proven. 48 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-28 04:28:39,027 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:28:39,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1252455850] [2022-04-28 04:28:39,027 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:28:39,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [679227779] [2022-04-28 04:28:39,027 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [679227779] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:28:39,027 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:28:39,027 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-28 04:28:39,028 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:28:39,028 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1854000509] [2022-04-28 04:28:39,028 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1854000509] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:28:39,028 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:28:39,028 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 04:28:39,028 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1014085294] [2022-04-28 04:28:39,028 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:28:39,028 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 99 [2022-04-28 04:28:39,028 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:28:39,028 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 04:28:39,103 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:28:39,104 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 04:28:39,104 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:28:39,104 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 04:28:39,104 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2022-04-28 04:28:39,104 INFO L87 Difference]: Start difference. First operand 307 states and 370 transitions. Second operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 04:28:42,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:28:42,208 INFO L93 Difference]: Finished difference Result 348 states and 420 transitions. [2022-04-28 04:28:42,208 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 04:28:42,208 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 99 [2022-04-28 04:28:42,208 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:28:42,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 04:28:42,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 100 transitions. [2022-04-28 04:28:42,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 04:28:42,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 100 transitions. [2022-04-28 04:28:42,210 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 100 transitions. [2022-04-28 04:28:42,360 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:28:42,367 INFO L225 Difference]: With dead ends: 348 [2022-04-28 04:28:42,367 INFO L226 Difference]: Without dead ends: 346 [2022-04-28 04:28:42,367 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 198 GetRequests, 182 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=66, Invalid=206, Unknown=0, NotChecked=0, Total=272 [2022-04-28 04:28:42,368 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 9 mSDsluCounter, 211 mSDsCounter, 0 mSdLazyCounter, 478 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 268 SdHoareTripleChecker+Invalid, 490 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 478 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-28 04:28:42,368 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 268 Invalid, 490 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 478 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-28 04:28:42,368 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 346 states. [2022-04-28 04:28:42,768 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 346 to 332. [2022-04-28 04:28:42,768 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:28:42,769 INFO L82 GeneralOperation]: Start isEquivalent. First operand 346 states. Second operand has 332 states, 205 states have (on average 1.1365853658536584) internal successors, (233), 208 states have internal predecessors, (233), 83 states have call successors, (83), 44 states have call predecessors, (83), 43 states have return successors, (81), 79 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-28 04:28:42,771 INFO L74 IsIncluded]: Start isIncluded. First operand 346 states. Second operand has 332 states, 205 states have (on average 1.1365853658536584) internal successors, (233), 208 states have internal predecessors, (233), 83 states have call successors, (83), 44 states have call predecessors, (83), 43 states have return successors, (81), 79 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-28 04:28:42,772 INFO L87 Difference]: Start difference. First operand 346 states. Second operand has 332 states, 205 states have (on average 1.1365853658536584) internal successors, (233), 208 states have internal predecessors, (233), 83 states have call successors, (83), 44 states have call predecessors, (83), 43 states have return successors, (81), 79 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-28 04:28:42,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:28:42,782 INFO L93 Difference]: Finished difference Result 346 states and 418 transitions. [2022-04-28 04:28:42,782 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 418 transitions. [2022-04-28 04:28:42,782 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:28:42,782 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:28:42,783 INFO L74 IsIncluded]: Start isIncluded. First operand has 332 states, 205 states have (on average 1.1365853658536584) internal successors, (233), 208 states have internal predecessors, (233), 83 states have call successors, (83), 44 states have call predecessors, (83), 43 states have return successors, (81), 79 states have call predecessors, (81), 81 states have call successors, (81) Second operand 346 states. [2022-04-28 04:28:42,783 INFO L87 Difference]: Start difference. First operand has 332 states, 205 states have (on average 1.1365853658536584) internal successors, (233), 208 states have internal predecessors, (233), 83 states have call successors, (83), 44 states have call predecessors, (83), 43 states have return successors, (81), 79 states have call predecessors, (81), 81 states have call successors, (81) Second operand 346 states. [2022-04-28 04:28:42,789 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:28:42,789 INFO L93 Difference]: Finished difference Result 346 states and 418 transitions. [2022-04-28 04:28:42,789 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 418 transitions. [2022-04-28 04:28:42,789 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:28:42,789 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:28:42,790 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:28:42,790 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:28:42,790 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 332 states, 205 states have (on average 1.1365853658536584) internal successors, (233), 208 states have internal predecessors, (233), 83 states have call successors, (83), 44 states have call predecessors, (83), 43 states have return successors, (81), 79 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-28 04:28:42,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 332 states to 332 states and 397 transitions. [2022-04-28 04:28:42,796 INFO L78 Accepts]: Start accepts. Automaton has 332 states and 397 transitions. Word has length 99 [2022-04-28 04:28:42,796 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:28:42,797 INFO L495 AbstractCegarLoop]: Abstraction has 332 states and 397 transitions. [2022-04-28 04:28:42,797 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 04:28:42,797 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 332 states and 397 transitions. [2022-04-28 04:28:45,716 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 397 edges. 397 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:28:45,717 INFO L276 IsEmpty]: Start isEmpty. Operand 332 states and 397 transitions. [2022-04-28 04:28:45,718 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 04:28:45,718 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:28:45,718 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:28:45,736 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Ended with exit code 0 [2022-04-28 04:28:45,934 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:28:45,935 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:28:45,935 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:28:45,935 INFO L85 PathProgramCache]: Analyzing trace with hash 43761953, now seen corresponding path program 21 times [2022-04-28 04:28:45,935 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:28:45,935 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1751018162] [2022-04-28 04:28:45,935 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:28:45,935 INFO L85 PathProgramCache]: Analyzing trace with hash 43761953, now seen corresponding path program 22 times [2022-04-28 04:28:45,935 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:28:45,935 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1555908231] [2022-04-28 04:28:45,936 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:28:45,936 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:28:45,943 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:28:45,944 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1742633774] [2022-04-28 04:28:45,944 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:28:45,944 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:28:45,944 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:28:45,945 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:28:45,962 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 04:28:46,008 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:28:46,008 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:28:46,010 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-28 04:28:46,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:28:46,033 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:28:50,114 INFO L272 TraceCheckUtils]: 0: Hoare triple {31897#true} call ULTIMATE.init(); {31897#true} is VALID [2022-04-28 04:28:50,114 INFO L290 TraceCheckUtils]: 1: Hoare triple {31897#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); {31897#true} is VALID [2022-04-28 04:28:50,114 INFO L290 TraceCheckUtils]: 2: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:28:50,114 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31897#true} {31897#true} #81#return; {31897#true} is VALID [2022-04-28 04:28:50,114 INFO L272 TraceCheckUtils]: 4: Hoare triple {31897#true} call #t~ret6 := main(); {31897#true} is VALID [2022-04-28 04:28:50,114 INFO L290 TraceCheckUtils]: 5: Hoare triple {31897#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {31897#true} is VALID [2022-04-28 04:28:50,114 INFO L272 TraceCheckUtils]: 6: Hoare triple {31897#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:28:50,114 INFO L290 TraceCheckUtils]: 7: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:28:50,115 INFO L290 TraceCheckUtils]: 8: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:28:50,115 INFO L290 TraceCheckUtils]: 9: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:28:50,115 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31897#true} {31897#true} #63#return; {31897#true} is VALID [2022-04-28 04:28:50,115 INFO L272 TraceCheckUtils]: 11: Hoare triple {31897#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:28:50,115 INFO L290 TraceCheckUtils]: 12: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:28:50,115 INFO L290 TraceCheckUtils]: 13: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:28:50,115 INFO L290 TraceCheckUtils]: 14: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:28:50,115 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {31897#true} {31897#true} #65#return; {31897#true} is VALID [2022-04-28 04:28:50,116 INFO L290 TraceCheckUtils]: 16: Hoare triple {31897#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {31950#(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 04:28:50,116 INFO L290 TraceCheckUtils]: 17: Hoare triple {31950#(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; {31950#(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 04:28:50,116 INFO L272 TraceCheckUtils]: 18: Hoare triple {31950#(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)); {31897#true} is VALID [2022-04-28 04:28:50,116 INFO L290 TraceCheckUtils]: 19: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:28:50,116 INFO L290 TraceCheckUtils]: 20: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:28:50,116 INFO L290 TraceCheckUtils]: 21: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:28:50,117 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {31897#true} {31950#(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))} #67#return; {31950#(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 04:28:50,117 INFO L272 TraceCheckUtils]: 23: Hoare triple {31950#(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)); {31897#true} is VALID [2022-04-28 04:28:50,117 INFO L290 TraceCheckUtils]: 24: Hoare triple {31897#true} ~cond := #in~cond; {31975#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:28:50,118 INFO L290 TraceCheckUtils]: 25: Hoare triple {31975#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:28:50,118 INFO L290 TraceCheckUtils]: 26: Hoare triple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:28:50,119 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} {31950#(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))} #69#return; {31950#(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 04:28:50,119 INFO L272 TraceCheckUtils]: 28: Hoare triple {31950#(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)); {31897#true} is VALID [2022-04-28 04:28:50,119 INFO L290 TraceCheckUtils]: 29: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:28:50,119 INFO L290 TraceCheckUtils]: 30: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:28:50,119 INFO L290 TraceCheckUtils]: 31: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:28:50,120 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {31897#true} {31950#(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))} #71#return; {31950#(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 04:28:50,120 INFO L290 TraceCheckUtils]: 33: Hoare triple {31950#(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); {31950#(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 04:28:50,121 INFO L290 TraceCheckUtils]: 34: Hoare triple {31950#(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;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {32007#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:28:50,121 INFO L290 TraceCheckUtils]: 35: Hoare triple {32007#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {32007#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:28:50,121 INFO L272 TraceCheckUtils]: 36: Hoare triple {32007#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= 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)); {31897#true} is VALID [2022-04-28 04:28:50,122 INFO L290 TraceCheckUtils]: 37: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:28:50,122 INFO L290 TraceCheckUtils]: 38: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:28:50,122 INFO L290 TraceCheckUtils]: 39: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:28:50,122 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {31897#true} {32007#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #67#return; {32007#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:28:50,122 INFO L272 TraceCheckUtils]: 41: Hoare triple {32007#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= 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)); {31897#true} is VALID [2022-04-28 04:28:50,123 INFO L290 TraceCheckUtils]: 42: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:28:50,123 INFO L290 TraceCheckUtils]: 43: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:28:50,123 INFO L290 TraceCheckUtils]: 44: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:28:50,123 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {31897#true} {32007#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #69#return; {32007#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:28:50,123 INFO L272 TraceCheckUtils]: 46: Hoare triple {32007#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~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)); {31897#true} is VALID [2022-04-28 04:28:50,124 INFO L290 TraceCheckUtils]: 47: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:28:50,124 INFO L290 TraceCheckUtils]: 48: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:28:50,124 INFO L290 TraceCheckUtils]: 49: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:28:50,124 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {31897#true} {32007#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #71#return; {32007#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:28:50,125 INFO L290 TraceCheckUtils]: 51: Hoare triple {32007#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {32007#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 04:28:50,127 INFO L290 TraceCheckUtils]: 52: Hoare triple {32007#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~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; {32062#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-28 04:28:50,128 INFO L290 TraceCheckUtils]: 53: Hoare triple {32062#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} assume !false; {32062#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-28 04:28:50,128 INFO L272 TraceCheckUtils]: 54: Hoare triple {32062#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:28:50,129 INFO L290 TraceCheckUtils]: 55: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:28:50,129 INFO L290 TraceCheckUtils]: 56: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:28:50,129 INFO L290 TraceCheckUtils]: 57: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:28:50,129 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {31897#true} {32062#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} #67#return; {32062#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-28 04:28:50,130 INFO L272 TraceCheckUtils]: 59: Hoare triple {32062#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:28:50,130 INFO L290 TraceCheckUtils]: 60: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:28:50,130 INFO L290 TraceCheckUtils]: 61: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:28:50,130 INFO L290 TraceCheckUtils]: 62: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:28:50,131 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {31897#true} {32062#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} #69#return; {32062#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-28 04:28:50,131 INFO L272 TraceCheckUtils]: 64: Hoare triple {32062#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:28:50,131 INFO L290 TraceCheckUtils]: 65: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:28:50,131 INFO L290 TraceCheckUtils]: 66: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:28:50,131 INFO L290 TraceCheckUtils]: 67: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:28:50,132 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {31897#true} {32062#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} #71#return; {32062#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-28 04:28:50,132 INFO L290 TraceCheckUtils]: 69: Hoare triple {32062#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} assume !!(~a~0 != ~b~0); {32062#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-28 04:28:50,134 INFO L290 TraceCheckUtils]: 70: Hoare triple {32062#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {32117#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} is VALID [2022-04-28 04:28:50,135 INFO L290 TraceCheckUtils]: 71: Hoare triple {32117#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} assume !false; {32117#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} is VALID [2022-04-28 04:28:50,135 INFO L272 TraceCheckUtils]: 72: Hoare triple {32117#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:28:50,135 INFO L290 TraceCheckUtils]: 73: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:28:50,135 INFO L290 TraceCheckUtils]: 74: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:28:50,135 INFO L290 TraceCheckUtils]: 75: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:28:50,136 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {31897#true} {32117#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} #67#return; {32117#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} is VALID [2022-04-28 04:28:50,136 INFO L272 TraceCheckUtils]: 77: Hoare triple {32117#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:28:50,136 INFO L290 TraceCheckUtils]: 78: Hoare triple {31897#true} ~cond := #in~cond; {31975#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:28:50,136 INFO L290 TraceCheckUtils]: 79: Hoare triple {31975#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:28:50,137 INFO L290 TraceCheckUtils]: 80: Hoare triple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:28:50,138 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} {32117#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} #69#return; {32151#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-28 04:28:50,138 INFO L272 TraceCheckUtils]: 82: Hoare triple {32151#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:28:50,138 INFO L290 TraceCheckUtils]: 83: Hoare triple {31897#true} ~cond := #in~cond; {31975#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:28:50,139 INFO L290 TraceCheckUtils]: 84: Hoare triple {31975#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:28:50,139 INFO L290 TraceCheckUtils]: 85: Hoare triple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:28:50,140 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} {32151#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} #71#return; {32151#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-28 04:28:50,140 INFO L290 TraceCheckUtils]: 87: Hoare triple {32151#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} assume !!(~a~0 != ~b~0); {32151#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-28 04:28:50,146 INFO L290 TraceCheckUtils]: 88: Hoare triple {32151#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {32173#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-28 04:28:50,147 INFO L290 TraceCheckUtils]: 89: Hoare triple {32173#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} assume !false; {32173#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-28 04:28:50,147 INFO L272 TraceCheckUtils]: 90: Hoare triple {32173#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:28:50,147 INFO L290 TraceCheckUtils]: 91: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:28:50,147 INFO L290 TraceCheckUtils]: 92: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:28:50,147 INFO L290 TraceCheckUtils]: 93: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:28:50,148 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {31897#true} {32173#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} #67#return; {32173#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-28 04:28:50,153 INFO L272 TraceCheckUtils]: 95: Hoare triple {32173#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32195#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:28:50,153 INFO L290 TraceCheckUtils]: 96: Hoare triple {32195#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32199#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:28:50,154 INFO L290 TraceCheckUtils]: 97: Hoare triple {32199#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31898#false} is VALID [2022-04-28 04:28:50,154 INFO L290 TraceCheckUtils]: 98: Hoare triple {31898#false} assume !false; {31898#false} is VALID [2022-04-28 04:28:50,154 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 80 proven. 84 refuted. 0 times theorem prover too weak. 226 trivial. 0 not checked. [2022-04-28 04:28:50,154 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:29:21,564 INFO L290 TraceCheckUtils]: 98: Hoare triple {31898#false} assume !false; {31898#false} is VALID [2022-04-28 04:29:21,564 INFO L290 TraceCheckUtils]: 97: Hoare triple {32199#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31898#false} is VALID [2022-04-28 04:29:21,565 INFO L290 TraceCheckUtils]: 96: Hoare triple {32195#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32199#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:29:21,565 INFO L272 TraceCheckUtils]: 95: Hoare triple {32215#(= 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)); {32195#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:29:21,566 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {31897#true} {32215#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {32215#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:29:21,566 INFO L290 TraceCheckUtils]: 93: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:29:21,566 INFO L290 TraceCheckUtils]: 92: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:29:21,566 INFO L290 TraceCheckUtils]: 91: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:29:21,566 INFO L272 TraceCheckUtils]: 90: Hoare triple {32215#(= 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)); {31897#true} is VALID [2022-04-28 04:29:21,566 INFO L290 TraceCheckUtils]: 89: Hoare triple {32215#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {32215#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:29:22,966 INFO L290 TraceCheckUtils]: 88: Hoare triple {32237#(= (+ main_~a~0 (* (- 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; {32215#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 04:29:22,967 INFO L290 TraceCheckUtils]: 87: Hoare triple {32237#(= (+ main_~a~0 (* (- 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); {32237#(= (+ main_~a~0 (* (- 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 04:29:22,968 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} {32244#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #71#return; {32237#(= (+ main_~a~0 (* (- 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 04:29:22,968 INFO L290 TraceCheckUtils]: 85: Hoare triple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:29:22,968 INFO L290 TraceCheckUtils]: 84: Hoare triple {32254#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:29:22,969 INFO L290 TraceCheckUtils]: 83: Hoare triple {31897#true} ~cond := #in~cond; {32254#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:29:22,969 INFO L272 TraceCheckUtils]: 82: Hoare triple {32244#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:29:22,971 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} {31897#true} #69#return; {32244#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 04:29:22,971 INFO L290 TraceCheckUtils]: 80: Hoare triple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:29:22,972 INFO L290 TraceCheckUtils]: 79: Hoare triple {32254#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:29:22,972 INFO L290 TraceCheckUtils]: 78: Hoare triple {31897#true} ~cond := #in~cond; {32254#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:29:22,972 INFO L272 TraceCheckUtils]: 77: Hoare triple {31897#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:29:22,972 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {31897#true} {31897#true} #67#return; {31897#true} is VALID [2022-04-28 04:29:22,972 INFO L290 TraceCheckUtils]: 75: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:29:22,972 INFO L290 TraceCheckUtils]: 74: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:29:22,972 INFO L290 TraceCheckUtils]: 73: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:29:22,972 INFO L272 TraceCheckUtils]: 72: Hoare triple {31897#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:29:22,972 INFO L290 TraceCheckUtils]: 71: Hoare triple {31897#true} assume !false; {31897#true} is VALID [2022-04-28 04:29:22,972 INFO L290 TraceCheckUtils]: 70: Hoare triple {31897#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {31897#true} is VALID [2022-04-28 04:29:22,972 INFO L290 TraceCheckUtils]: 69: Hoare triple {31897#true} assume !!(~a~0 != ~b~0); {31897#true} is VALID [2022-04-28 04:29:22,973 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {31897#true} {31897#true} #71#return; {31897#true} is VALID [2022-04-28 04:29:22,973 INFO L290 TraceCheckUtils]: 67: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:29:22,973 INFO L290 TraceCheckUtils]: 66: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:29:22,973 INFO L290 TraceCheckUtils]: 65: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:29:22,973 INFO L272 TraceCheckUtils]: 64: Hoare triple {31897#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:29:22,973 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {31897#true} {31897#true} #69#return; {31897#true} is VALID [2022-04-28 04:29:22,973 INFO L290 TraceCheckUtils]: 62: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:29:22,973 INFO L290 TraceCheckUtils]: 61: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:29:22,973 INFO L290 TraceCheckUtils]: 60: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:29:22,973 INFO L272 TraceCheckUtils]: 59: Hoare triple {31897#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:29:22,973 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {31897#true} {31897#true} #67#return; {31897#true} is VALID [2022-04-28 04:29:22,973 INFO L290 TraceCheckUtils]: 57: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:29:22,973 INFO L290 TraceCheckUtils]: 56: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:29:22,973 INFO L290 TraceCheckUtils]: 55: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:29:22,974 INFO L272 TraceCheckUtils]: 54: Hoare triple {31897#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:29:22,974 INFO L290 TraceCheckUtils]: 53: Hoare triple {31897#true} assume !false; {31897#true} is VALID [2022-04-28 04:29:22,974 INFO L290 TraceCheckUtils]: 52: Hoare triple {31897#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {31897#true} is VALID [2022-04-28 04:29:22,974 INFO L290 TraceCheckUtils]: 51: Hoare triple {31897#true} assume !!(~a~0 != ~b~0); {31897#true} is VALID [2022-04-28 04:29:22,974 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {31897#true} {31897#true} #71#return; {31897#true} is VALID [2022-04-28 04:29:22,974 INFO L290 TraceCheckUtils]: 49: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:29:22,974 INFO L290 TraceCheckUtils]: 48: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:29:22,974 INFO L290 TraceCheckUtils]: 47: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:29:22,974 INFO L272 TraceCheckUtils]: 46: Hoare triple {31897#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:29:22,974 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {31897#true} {31897#true} #69#return; {31897#true} is VALID [2022-04-28 04:29:22,974 INFO L290 TraceCheckUtils]: 44: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:29:22,974 INFO L290 TraceCheckUtils]: 43: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:29:22,974 INFO L290 TraceCheckUtils]: 42: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:29:22,974 INFO L272 TraceCheckUtils]: 41: Hoare triple {31897#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:29:22,974 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {31897#true} {31897#true} #67#return; {31897#true} is VALID [2022-04-28 04:29:22,975 INFO L290 TraceCheckUtils]: 39: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:29:22,975 INFO L290 TraceCheckUtils]: 38: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:29:22,975 INFO L290 TraceCheckUtils]: 37: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:29:22,975 INFO L272 TraceCheckUtils]: 36: Hoare triple {31897#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:29:22,975 INFO L290 TraceCheckUtils]: 35: Hoare triple {31897#true} assume !false; {31897#true} is VALID [2022-04-28 04:29:22,975 INFO L290 TraceCheckUtils]: 34: Hoare triple {31897#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {31897#true} is VALID [2022-04-28 04:29:22,975 INFO L290 TraceCheckUtils]: 33: Hoare triple {31897#true} assume !!(~a~0 != ~b~0); {31897#true} is VALID [2022-04-28 04:29:22,975 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {31897#true} {31897#true} #71#return; {31897#true} is VALID [2022-04-28 04:29:22,975 INFO L290 TraceCheckUtils]: 31: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:29:22,975 INFO L290 TraceCheckUtils]: 30: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:29:22,975 INFO L290 TraceCheckUtils]: 29: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:29:22,975 INFO L272 TraceCheckUtils]: 28: Hoare triple {31897#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:29:22,975 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {31897#true} {31897#true} #69#return; {31897#true} is VALID [2022-04-28 04:29:22,975 INFO L290 TraceCheckUtils]: 26: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:29:22,975 INFO L290 TraceCheckUtils]: 25: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:29:22,976 INFO L290 TraceCheckUtils]: 24: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:29:22,976 INFO L272 TraceCheckUtils]: 23: Hoare triple {31897#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:29:22,976 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {31897#true} {31897#true} #67#return; {31897#true} is VALID [2022-04-28 04:29:22,976 INFO L290 TraceCheckUtils]: 21: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:29:22,976 INFO L290 TraceCheckUtils]: 20: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:29:22,976 INFO L290 TraceCheckUtils]: 19: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:29:22,976 INFO L272 TraceCheckUtils]: 18: Hoare triple {31897#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:29:22,976 INFO L290 TraceCheckUtils]: 17: Hoare triple {31897#true} assume !false; {31897#true} is VALID [2022-04-28 04:29:22,976 INFO L290 TraceCheckUtils]: 16: Hoare triple {31897#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {31897#true} is VALID [2022-04-28 04:29:22,976 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {31897#true} {31897#true} #65#return; {31897#true} is VALID [2022-04-28 04:29:22,976 INFO L290 TraceCheckUtils]: 14: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:29:22,976 INFO L290 TraceCheckUtils]: 13: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:29:22,976 INFO L290 TraceCheckUtils]: 12: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:29:22,976 INFO L272 TraceCheckUtils]: 11: Hoare triple {31897#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:29:22,976 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31897#true} {31897#true} #63#return; {31897#true} is VALID [2022-04-28 04:29:22,977 INFO L290 TraceCheckUtils]: 9: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:29:22,977 INFO L290 TraceCheckUtils]: 8: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-28 04:29:22,977 INFO L290 TraceCheckUtils]: 7: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-28 04:29:22,977 INFO L272 TraceCheckUtils]: 6: Hoare triple {31897#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {31897#true} is VALID [2022-04-28 04:29:22,977 INFO L290 TraceCheckUtils]: 5: Hoare triple {31897#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {31897#true} is VALID [2022-04-28 04:29:22,977 INFO L272 TraceCheckUtils]: 4: Hoare triple {31897#true} call #t~ret6 := main(); {31897#true} is VALID [2022-04-28 04:29:22,977 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31897#true} {31897#true} #81#return; {31897#true} is VALID [2022-04-28 04:29:22,977 INFO L290 TraceCheckUtils]: 2: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-28 04:29:22,977 INFO L290 TraceCheckUtils]: 1: Hoare triple {31897#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); {31897#true} is VALID [2022-04-28 04:29:22,977 INFO L272 TraceCheckUtils]: 0: Hoare triple {31897#true} call ULTIMATE.init(); {31897#true} is VALID [2022-04-28 04:29:22,977 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 105 proven. 8 refuted. 0 times theorem prover too weak. 277 trivial. 0 not checked. [2022-04-28 04:29:22,978 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:29:22,978 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1555908231] [2022-04-28 04:29:22,978 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 04:29:22,978 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1742633774] [2022-04-28 04:29:22,978 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1742633774] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:29:22,978 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:29:22,978 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-28 04:29:22,978 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:29:22,978 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1751018162] [2022-04-28 04:29:22,978 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1751018162] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:29:22,978 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:29:22,978 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 04:29:22,978 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1161361494] [2022-04-28 04:29:22,978 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:29:22,979 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 99 [2022-04-28 04:29:22,979 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:29:22,979 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 04:29:23,080 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 04:29:23,080 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 04:29:23,080 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:29:23,080 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 04:29:23,081 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=194, Unknown=0, NotChecked=0, Total=240 [2022-04-28 04:29:23,081 INFO L87 Difference]: Start difference. First operand 332 states and 397 transitions. Second operand has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 04:29:31,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:29:31,205 INFO L93 Difference]: Finished difference Result 366 states and 439 transitions. [2022-04-28 04:29:31,205 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 04:29:31,205 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 99 [2022-04-28 04:29:31,205 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:29:31,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 04:29:31,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-28 04:29:31,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 04:29:31,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-28 04:29:31,208 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 100 transitions. [2022-04-28 04:29:31,407 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:29:31,413 INFO L225 Difference]: With dead ends: 366 [2022-04-28 04:29:31,413 INFO L226 Difference]: Without dead ends: 364 [2022-04-28 04:29:31,414 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 199 GetRequests, 181 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=59, Invalid=247, Unknown=0, NotChecked=0, Total=306 [2022-04-28 04:29:31,414 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 14 mSDsluCounter, 177 mSDsCounter, 0 mSdLazyCounter, 629 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 224 SdHoareTripleChecker+Invalid, 639 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 629 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.6s IncrementalHoareTripleChecker+Time [2022-04-28 04:29:31,414 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 224 Invalid, 639 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 629 Invalid, 0 Unknown, 0 Unchecked, 2.6s Time] [2022-04-28 04:29:31,415 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 364 states. [2022-04-28 04:29:31,876 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 364 to 350. [2022-04-28 04:29:31,877 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:29:31,877 INFO L82 GeneralOperation]: Start isEquivalent. First operand 364 states. Second operand has 350 states, 217 states have (on average 1.1336405529953917) internal successors, (246), 220 states have internal predecessors, (246), 86 states have call successors, (86), 47 states have call predecessors, (86), 46 states have return successors, (84), 82 states have call predecessors, (84), 84 states have call successors, (84) [2022-04-28 04:29:31,878 INFO L74 IsIncluded]: Start isIncluded. First operand 364 states. Second operand has 350 states, 217 states have (on average 1.1336405529953917) internal successors, (246), 220 states have internal predecessors, (246), 86 states have call successors, (86), 47 states have call predecessors, (86), 46 states have return successors, (84), 82 states have call predecessors, (84), 84 states have call successors, (84) [2022-04-28 04:29:31,878 INFO L87 Difference]: Start difference. First operand 364 states. Second operand has 350 states, 217 states have (on average 1.1336405529953917) internal successors, (246), 220 states have internal predecessors, (246), 86 states have call successors, (86), 47 states have call predecessors, (86), 46 states have return successors, (84), 82 states have call predecessors, (84), 84 states have call successors, (84) [2022-04-28 04:29:31,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:29:31,884 INFO L93 Difference]: Finished difference Result 364 states and 437 transitions. [2022-04-28 04:29:31,884 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 437 transitions. [2022-04-28 04:29:31,884 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:29:31,884 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:29:31,885 INFO L74 IsIncluded]: Start isIncluded. First operand has 350 states, 217 states have (on average 1.1336405529953917) internal successors, (246), 220 states have internal predecessors, (246), 86 states have call successors, (86), 47 states have call predecessors, (86), 46 states have return successors, (84), 82 states have call predecessors, (84), 84 states have call successors, (84) Second operand 364 states. [2022-04-28 04:29:31,885 INFO L87 Difference]: Start difference. First operand has 350 states, 217 states have (on average 1.1336405529953917) internal successors, (246), 220 states have internal predecessors, (246), 86 states have call successors, (86), 47 states have call predecessors, (86), 46 states have return successors, (84), 82 states have call predecessors, (84), 84 states have call successors, (84) Second operand 364 states. [2022-04-28 04:29:31,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:29:31,891 INFO L93 Difference]: Finished difference Result 364 states and 437 transitions. [2022-04-28 04:29:31,891 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 437 transitions. [2022-04-28 04:29:31,892 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:29:31,892 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:29:31,892 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:29:31,892 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:29:31,893 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 350 states, 217 states have (on average 1.1336405529953917) internal successors, (246), 220 states have internal predecessors, (246), 86 states have call successors, (86), 47 states have call predecessors, (86), 46 states have return successors, (84), 82 states have call predecessors, (84), 84 states have call successors, (84) [2022-04-28 04:29:31,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 350 states to 350 states and 416 transitions. [2022-04-28 04:29:31,900 INFO L78 Accepts]: Start accepts. Automaton has 350 states and 416 transitions. Word has length 99 [2022-04-28 04:29:31,900 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:29:31,900 INFO L495 AbstractCegarLoop]: Abstraction has 350 states and 416 transitions. [2022-04-28 04:29:31,900 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 04:29:31,900 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 350 states and 416 transitions. [2022-04-28 04:29:35,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 416 edges. 416 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:29:35,721 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 416 transitions. [2022-04-28 04:29:35,722 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 04:29:35,722 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:29:35,722 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 4, 4, 4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:29:35,739 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-28 04:29:35,931 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:29:35,931 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:29:35,932 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:29:35,932 INFO L85 PathProgramCache]: Analyzing trace with hash 1429965347, now seen corresponding path program 23 times [2022-04-28 04:29:35,932 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:29:35,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [526584917] [2022-04-28 04:29:35,932 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:29:35,932 INFO L85 PathProgramCache]: Analyzing trace with hash 1429965347, now seen corresponding path program 24 times [2022-04-28 04:29:35,932 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:29:35,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1237269780] [2022-04-28 04:29:35,932 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:29:35,933 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:29:35,941 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 04:29:35,941 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1061736374] [2022-04-28 04:29:35,942 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:29:35,942 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:29:35,942 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:29:35,943 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:29:35,944 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-28 04:29:36,561 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 04:29:36,561 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:29:36,564 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-28 04:29:36,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:29:36,586 INFO L286 TraceCheckSpWp]: Computing forward predicates...