/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 14:43:44,989 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 14:43:44,992 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 14:43:45,016 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 14:43:45,016 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 14:43:45,018 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 14:43:45,021 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 14:43:45,032 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 14:43:45,034 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 14:43:45,039 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 14:43:45,040 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 14:43:45,041 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 14:43:45,042 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 14:43:45,044 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 14:43:45,045 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 14:43:45,048 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 14:43:45,048 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 14:43:45,049 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 14:43:45,050 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 14:43:45,052 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 14:43:45,053 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 14:43:45,054 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 14:43:45,055 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 14:43:45,056 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 14:43:45,057 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 14:43:45,064 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 14:43:45,065 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 14:43:45,065 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 14:43:45,066 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 14:43:45,066 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 14:43:45,067 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 14:43:45,067 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 14:43:45,068 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 14:43:45,068 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 14:43:45,069 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 14:43:45,070 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 14:43:45,070 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 14:43:45,070 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 14:43:45,071 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 14:43:45,071 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 14:43:45,072 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 14:43:45,074 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 14:43:45,074 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 14:43:45,087 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 14:43:45,088 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 14:43:45,089 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 14:43:45,089 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 14:43:45,089 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 14:43:45,089 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 14:43:45,089 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 14:43:45,089 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 14:43:45,089 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 14:43:45,090 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 14:43:45,090 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 14:43:45,091 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 14:43:45,091 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 14:43:45,091 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 14:43:45,091 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 14:43:45,091 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 14:43:45,091 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 14:43:45,091 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 14:43:45,091 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 14:43:45,091 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 14:43:45,092 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 14:43:45,092 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 14:43:45,092 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 14:43:45,339 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 14:43:45,368 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 14:43:45,371 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 14:43:45,372 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 14:43:45,372 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 14:43:45,373 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound100.c [2022-04-15 14:43:45,433 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b322b3131/92ce245063a64102a28753911ad071af/FLAGf594dba4b [2022-04-15 14:43:45,877 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 14:43:45,878 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound100.c [2022-04-15 14:43:45,888 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b322b3131/92ce245063a64102a28753911ad071af/FLAGf594dba4b [2022-04-15 14:43:45,900 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b322b3131/92ce245063a64102a28753911ad071af [2022-04-15 14:43:45,903 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 14:43:45,904 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 14:43:45,906 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 14:43:45,906 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 14:43:45,910 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 14:43:45,911 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 02:43:45" (1/1) ... [2022-04-15 14:43:45,912 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@29e4f1c1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:45, skipping insertion in model container [2022-04-15 14:43:45,912 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 02:43:45" (1/1) ... [2022-04-15 14:43:45,919 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 14:43:45,935 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 14:43:46,078 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound100.c[489,502] [2022-04-15 14:43:46,098 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 14:43:46,106 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 14:43:46,117 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound100.c[489,502] [2022-04-15 14:43:46,126 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 14:43:46,138 INFO L208 MainTranslator]: Completed translation [2022-04-15 14:43:46,139 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:46 WrapperNode [2022-04-15 14:43:46,139 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 14:43:46,140 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 14:43:46,140 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 14:43:46,140 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 14:43:46,150 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:46" (1/1) ... [2022-04-15 14:43:46,150 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:46" (1/1) ... [2022-04-15 14:43:46,156 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:46" (1/1) ... [2022-04-15 14:43:46,157 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:46" (1/1) ... [2022-04-15 14:43:46,163 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:46" (1/1) ... [2022-04-15 14:43:46,167 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:46" (1/1) ... [2022-04-15 14:43:46,168 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:46" (1/1) ... [2022-04-15 14:43:46,170 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 14:43:46,171 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 14:43:46,171 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 14:43:46,171 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 14:43:46,172 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:46" (1/1) ... [2022-04-15 14:43:46,180 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 14:43:46,189 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:46,205 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 14:43:46,228 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 14:43:46,242 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 14:43:46,243 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 14:43:46,244 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 14:43:46,244 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 14:43:46,244 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 14:43:46,244 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 14:43:46,244 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 14:43:46,244 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 14:43:46,244 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 14:43:46,245 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 14:43:46,245 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 14:43:46,245 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 14:43:46,245 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 14:43:46,245 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 14:43:46,245 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 14:43:46,245 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 14:43:46,246 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 14:43:46,246 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 14:43:46,246 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 14:43:46,246 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 14:43:46,295 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 14:43:46,297 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 14:43:46,511 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 14:43:46,517 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 14:43:46,517 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 14:43:46,519 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 02:43:46 BoogieIcfgContainer [2022-04-15 14:43:46,519 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 14:43:46,520 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 14:43:46,521 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 14:43:46,524 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 14:43:46,525 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 02:43:45" (1/3) ... [2022-04-15 14:43:46,525 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@fee5c79 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 02:43:46, skipping insertion in model container [2022-04-15 14:43:46,526 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:43:46" (2/3) ... [2022-04-15 14:43:46,526 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@fee5c79 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 02:43:46, skipping insertion in model container [2022-04-15 14:43:46,526 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 02:43:46" (3/3) ... [2022-04-15 14:43:46,527 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound100.c [2022-04-15 14:43:46,532 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 14:43:46,532 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 14:43:46,570 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 14:43:46,576 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 14:43:46,576 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 14:43:46,614 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 14:43:46,621 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 14:43:46,621 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:46,622 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:46,622 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:46,635 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:46,636 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 1 times [2022-04-15 14:43:46,644 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:46,645 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1250112538] [2022-04-15 14:43:46,657 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:46,658 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 2 times [2022-04-15 14:43:46,661 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:46,662 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [916448013] [2022-04-15 14:43:46,662 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:46,664 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:46,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:46,873 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 14:43:46,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:46,906 INFO L290 TraceCheckUtils]: 0: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-15 14:43:46,907 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-15 14:43:46,907 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-15 14:43:46,908 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 14:43:46,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:46,935 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:43:46,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:43:46,938 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:43:46,938 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-15 14:43:46,938 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 14:43:46,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:46,951 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:43:46,953 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:43:46,953 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:43:46,953 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-15 14:43:46,954 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 14:43:46,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:46,964 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:43:46,964 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:43:46,964 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:43:46,965 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-15 14:43:46,965 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-15 14:43:46,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:46,980 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:43:46,981 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:43:46,981 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:43:46,981 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-15 14:43:46,983 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 14:43:46,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-15 14:43:46,984 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-15 14:43:46,984 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-15 14:43:46,984 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-15 14:43:46,985 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {40#true} is VALID [2022-04-15 14:43:46,985 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {40#true} is VALID [2022-04-15 14:43:46,985 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:43:46,986 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:43:46,986 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:43:46,986 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-15 14:43:46,987 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {41#false} is VALID [2022-04-15 14:43:46,987 INFO L272 TraceCheckUtils]: 12: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {40#true} is VALID [2022-04-15 14:43:46,987 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:43:46,987 INFO L290 TraceCheckUtils]: 14: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:43:46,988 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:43:46,988 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-15 14:43:46,989 INFO L272 TraceCheckUtils]: 17: Hoare triple {41#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-15 14:43:46,989 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:43:46,989 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:43:46,989 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:43:46,990 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-15 14:43:46,990 INFO L272 TraceCheckUtils]: 22: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-15 14:43:46,990 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:43:46,992 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:43:46,993 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:43:46,993 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-15 14:43:46,993 INFO L290 TraceCheckUtils]: 27: Hoare triple {41#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41#false} is VALID [2022-04-15 14:43:46,993 INFO L290 TraceCheckUtils]: 28: Hoare triple {41#false} assume false; {41#false} is VALID [2022-04-15 14:43:46,997 INFO L272 TraceCheckUtils]: 29: Hoare triple {41#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {41#false} is VALID [2022-04-15 14:43:46,998 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-15 14:43:46,998 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-15 14:43:46,998 INFO L290 TraceCheckUtils]: 32: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-15 14:43:46,999 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 14:43:47,000 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:47,000 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [916448013] [2022-04-15 14:43:47,001 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [916448013] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:47,001 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:47,002 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 14:43:47,007 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:47,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1250112538] [2022-04-15 14:43:47,008 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1250112538] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:47,008 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:47,008 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 14:43:47,008 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2147327587] [2022-04-15 14:43:47,009 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:47,015 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 14:43:47,017 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:47,021 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 14:43:47,061 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:47,061 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 14:43:47,062 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:47,085 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 14:43:47,087 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 14:43:47,091 INFO L87 Difference]: Start difference. First operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 14:43:47,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:47,308 INFO L93 Difference]: Finished difference Result 67 states and 105 transitions. [2022-04-15 14:43:47,308 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 14:43:47,308 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 14:43:47,309 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:47,310 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 14:43:47,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-15 14:43:47,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 14:43:47,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-15 14:43:47,327 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 105 transitions. [2022-04-15 14:43:47,450 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:47,459 INFO L225 Difference]: With dead ends: 67 [2022-04-15 14:43:47,459 INFO L226 Difference]: Without dead ends: 32 [2022-04-15 14:43:47,462 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 14:43:47,466 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:47,467 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 39 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:43:47,481 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-15 14:43:47,496 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-15 14:43:47,496 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:47,497 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 14:43:47,498 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 14:43:47,498 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 14:43:47,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:47,503 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-15 14:43:47,503 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-15 14:43:47,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:47,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:47,505 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-15 14:43:47,505 INFO L87 Difference]: Start difference. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-15 14:43:47,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:47,509 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-15 14:43:47,509 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-15 14:43:47,510 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:47,510 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:47,510 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:47,510 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:47,511 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 14:43:47,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-15 14:43:47,515 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 33 [2022-04-15 14:43:47,515 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:47,516 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-15 14:43:47,516 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 14:43:47,516 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-15 14:43:47,584 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-15 14:43:47,585 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-15 14:43:47,585 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 14:43:47,586 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:47,586 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:47,586 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 14:43:47,586 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:47,587 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:47,587 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 1 times [2022-04-15 14:43:47,587 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:47,588 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [19456379] [2022-04-15 14:43:47,589 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:47,589 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 2 times [2022-04-15 14:43:47,589 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:47,590 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [228890142] [2022-04-15 14:43:47,590 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:47,590 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:47,649 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:47,653 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [389583747] [2022-04-15 14:43:47,653 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:43:47,654 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:47,654 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:47,659 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:43:47,693 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 14:43:47,724 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 14:43:47,725 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:47,728 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 14:43:47,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:47,748 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:47,988 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-15 14:43:47,989 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {326#true} is VALID [2022-04-15 14:43:47,989 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 14:43:47,991 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #88#return; {326#true} is VALID [2022-04-15 14:43:47,991 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-15 14:43:47,992 INFO L290 TraceCheckUtils]: 5: Hoare triple {326#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {326#true} is VALID [2022-04-15 14:43:47,992 INFO L272 TraceCheckUtils]: 6: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {326#true} is VALID [2022-04-15 14:43:47,992 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-15 14:43:47,992 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-15 14:43:47,992 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 14:43:47,993 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #66#return; {326#true} is VALID [2022-04-15 14:43:47,993 INFO L290 TraceCheckUtils]: 11: Hoare triple {326#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {326#true} is VALID [2022-04-15 14:43:47,993 INFO L272 TraceCheckUtils]: 12: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {326#true} is VALID [2022-04-15 14:43:47,993 INFO L290 TraceCheckUtils]: 13: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-15 14:43:47,993 INFO L290 TraceCheckUtils]: 14: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-15 14:43:47,993 INFO L290 TraceCheckUtils]: 15: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 14:43:47,993 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {326#true} {326#true} #68#return; {326#true} is VALID [2022-04-15 14:43:47,994 INFO L272 TraceCheckUtils]: 17: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-15 14:43:47,994 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-15 14:43:47,994 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-15 14:43:47,994 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 14:43:47,994 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {326#true} #70#return; {326#true} is VALID [2022-04-15 14:43:47,995 INFO L272 TraceCheckUtils]: 22: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-15 14:43:47,995 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-15 14:43:47,995 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-15 14:43:47,995 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 14:43:47,995 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {326#true} #72#return; {326#true} is VALID [2022-04-15 14:43:47,996 INFO L290 TraceCheckUtils]: 27: Hoare triple {326#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-15 14:43:47,997 INFO L290 TraceCheckUtils]: 28: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !false; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-15 14:43:47,999 INFO L272 TraceCheckUtils]: 29: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {419#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:47,999 INFO L290 TraceCheckUtils]: 30: Hoare triple {419#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {423#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:48,000 INFO L290 TraceCheckUtils]: 31: Hoare triple {423#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {327#false} is VALID [2022-04-15 14:43:48,000 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-15 14:43:48,000 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 14:43:48,001 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:43:48,001 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:48,001 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [228890142] [2022-04-15 14:43:48,001 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:43:48,001 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [389583747] [2022-04-15 14:43:48,002 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [389583747] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:48,002 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:48,003 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:48,003 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:48,004 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [19456379] [2022-04-15 14:43:48,004 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [19456379] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:48,004 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:48,004 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:48,004 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [260172612] [2022-04-15 14:43:48,004 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:48,005 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-15 14:43:48,006 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:48,006 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 14:43:48,030 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:48,030 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:43:48,031 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:48,034 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:43:48,035 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:43:48,035 INFO L87 Difference]: Start difference. First operand 32 states and 42 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 14:43:48,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:48,339 INFO L93 Difference]: Finished difference Result 48 states and 65 transitions. [2022-04-15 14:43:48,340 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:43:48,340 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-15 14:43:48,340 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:48,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 14:43:48,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 14:43:48,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 14:43:48,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 14:43:48,346 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 14:43:48,416 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:48,418 INFO L225 Difference]: With dead ends: 48 [2022-04-15 14:43:48,418 INFO L226 Difference]: Without dead ends: 46 [2022-04-15 14:43:48,419 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 14:43:48,420 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:48,420 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 143 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 14:43:48,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-15 14:43:48,438 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2022-04-15 14:43:48,438 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:48,439 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 14:43:48,439 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 14:43:48,440 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 14:43:48,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:48,451 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-15 14:43:48,451 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-15 14:43:48,456 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:48,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:48,457 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-15 14:43:48,458 INFO L87 Difference]: Start difference. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-15 14:43:48,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:48,461 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-15 14:43:48,461 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-15 14:43:48,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:48,462 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:48,462 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:48,462 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:48,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 14:43:48,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 62 transitions. [2022-04-15 14:43:48,465 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 62 transitions. Word has length 33 [2022-04-15 14:43:48,465 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:48,466 INFO L478 AbstractCegarLoop]: Abstraction has 45 states and 62 transitions. [2022-04-15 14:43:48,466 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-15 14:43:48,466 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 62 transitions. [2022-04-15 14:43:48,548 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:48,548 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-15 14:43:48,550 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-15 14:43:48,550 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:48,550 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:48,575 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-15 14:43:48,763 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:48,764 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:48,764 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:48,764 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 1 times [2022-04-15 14:43:48,765 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:48,765 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2103462126] [2022-04-15 14:43:48,765 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:48,765 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 2 times [2022-04-15 14:43:48,766 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:48,766 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [482058847] [2022-04-15 14:43:48,766 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:48,766 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:48,792 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:48,792 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [217322456] [2022-04-15 14:43:48,792 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:43:48,792 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:48,792 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:48,793 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:43:48,795 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 14:43:48,847 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:43:48,847 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:48,848 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 14:43:48,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:48,864 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:49,024 INFO L272 TraceCheckUtils]: 0: Hoare triple {709#true} call ULTIMATE.init(); {709#true} is VALID [2022-04-15 14:43:49,024 INFO L290 TraceCheckUtils]: 1: Hoare triple {709#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {709#true} is VALID [2022-04-15 14:43:49,024 INFO L290 TraceCheckUtils]: 2: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:43:49,025 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {709#true} {709#true} #88#return; {709#true} is VALID [2022-04-15 14:43:49,025 INFO L272 TraceCheckUtils]: 4: Hoare triple {709#true} call #t~ret6 := main(); {709#true} is VALID [2022-04-15 14:43:49,025 INFO L290 TraceCheckUtils]: 5: Hoare triple {709#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {709#true} is VALID [2022-04-15 14:43:49,025 INFO L272 TraceCheckUtils]: 6: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {709#true} is VALID [2022-04-15 14:43:49,025 INFO L290 TraceCheckUtils]: 7: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 14:43:49,025 INFO L290 TraceCheckUtils]: 8: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 14:43:49,026 INFO L290 TraceCheckUtils]: 9: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:43:49,026 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {709#true} {709#true} #66#return; {709#true} is VALID [2022-04-15 14:43:49,026 INFO L290 TraceCheckUtils]: 11: Hoare triple {709#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {709#true} is VALID [2022-04-15 14:43:49,026 INFO L272 TraceCheckUtils]: 12: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {709#true} is VALID [2022-04-15 14:43:49,026 INFO L290 TraceCheckUtils]: 13: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 14:43:49,026 INFO L290 TraceCheckUtils]: 14: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 14:43:49,026 INFO L290 TraceCheckUtils]: 15: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:43:49,027 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {709#true} {709#true} #68#return; {709#true} is VALID [2022-04-15 14:43:49,027 INFO L272 TraceCheckUtils]: 17: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-15 14:43:49,027 INFO L290 TraceCheckUtils]: 18: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 14:43:49,027 INFO L290 TraceCheckUtils]: 19: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 14:43:49,027 INFO L290 TraceCheckUtils]: 20: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:43:49,027 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {709#true} {709#true} #70#return; {709#true} is VALID [2022-04-15 14:43:49,028 INFO L272 TraceCheckUtils]: 22: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-15 14:43:49,028 INFO L290 TraceCheckUtils]: 23: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 14:43:49,028 INFO L290 TraceCheckUtils]: 24: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 14:43:49,028 INFO L290 TraceCheckUtils]: 25: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:43:49,028 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {709#true} {709#true} #72#return; {709#true} is VALID [2022-04-15 14:43:49,029 INFO L290 TraceCheckUtils]: 27: Hoare triple {709#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:49,029 INFO L290 TraceCheckUtils]: 28: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:49,030 INFO L272 TraceCheckUtils]: 29: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {709#true} is VALID [2022-04-15 14:43:49,030 INFO L290 TraceCheckUtils]: 30: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 14:43:49,030 INFO L290 TraceCheckUtils]: 31: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 14:43:49,030 INFO L290 TraceCheckUtils]: 32: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:43:49,032 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {709#true} {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:49,033 INFO L272 TraceCheckUtils]: 34: Hoare triple {795#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:49,033 INFO L290 TraceCheckUtils]: 35: Hoare triple {817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:49,034 INFO L290 TraceCheckUtils]: 36: Hoare triple {821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {710#false} is VALID [2022-04-15 14:43:49,034 INFO L290 TraceCheckUtils]: 37: Hoare triple {710#false} assume !false; {710#false} is VALID [2022-04-15 14:43:49,034 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 14:43:49,034 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:43:49,035 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:49,035 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [482058847] [2022-04-15 14:43:49,035 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:43:49,035 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [217322456] [2022-04-15 14:43:49,035 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [217322456] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:49,035 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:49,035 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:49,036 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:49,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2103462126] [2022-04-15 14:43:49,036 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2103462126] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:49,036 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:49,036 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:49,036 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [861503526] [2022-04-15 14:43:49,036 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:49,037 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-15 14:43:49,037 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:49,037 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 14:43:49,061 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-15 14:43:49,061 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:43:49,062 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:49,062 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:43:49,062 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:43:49,062 INFO L87 Difference]: Start difference. First operand 45 states and 62 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 14:43:49,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:49,319 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2022-04-15 14:43:49,319 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:43:49,319 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-15 14:43:49,320 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:49,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 14:43:49,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 14:43:49,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 14:43:49,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 14:43:49,324 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 14:43:49,419 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:49,421 INFO L225 Difference]: With dead ends: 52 [2022-04-15 14:43:49,421 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 14:43:49,421 INFO L912 BasicCegarLoop]: 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-15 14:43:49,422 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:49,423 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 140 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 14:43:49,423 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 14:43:49,441 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-04-15 14:43:49,441 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:49,441 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 14:43:49,442 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 14:43:49,442 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 14:43:49,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:49,446 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-15 14:43:49,446 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-15 14:43:49,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:49,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:49,452 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-15 14:43:49,452 INFO L87 Difference]: Start difference. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-15 14:43:49,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:49,456 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-15 14:43:49,456 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-15 14:43:49,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:49,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:49,457 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:49,457 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:49,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 14:43:49,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 65 transitions. [2022-04-15 14:43:49,463 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 65 transitions. Word has length 38 [2022-04-15 14:43:49,463 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:49,463 INFO L478 AbstractCegarLoop]: Abstraction has 49 states and 65 transitions. [2022-04-15 14:43:49,464 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 14:43:49,464 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 65 transitions. [2022-04-15 14:43:49,567 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:49,567 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-15 14:43:49,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 14:43:49,568 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:49,568 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:49,586 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-15 14:43:49,775 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 14:43:49,776 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:49,776 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:49,776 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 1 times [2022-04-15 14:43:49,776 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:49,776 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1635887919] [2022-04-15 14:43:49,776 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:49,777 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 2 times [2022-04-15 14:43:49,777 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:49,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2082962434] [2022-04-15 14:43:49,777 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:49,777 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:49,803 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:49,803 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [443341082] [2022-04-15 14:43:49,804 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:43:49,804 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:49,804 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:49,805 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:43:49,808 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 14:43:49,860 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:43:49,860 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:49,861 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 14:43:49,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:49,885 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:50,045 INFO L272 TraceCheckUtils]: 0: Hoare triple {1131#true} call ULTIMATE.init(); {1131#true} is VALID [2022-04-15 14:43:50,046 INFO L290 TraceCheckUtils]: 1: Hoare triple {1131#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1131#true} is VALID [2022-04-15 14:43:50,046 INFO L290 TraceCheckUtils]: 2: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 14:43:50,046 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1131#true} {1131#true} #88#return; {1131#true} is VALID [2022-04-15 14:43:50,046 INFO L272 TraceCheckUtils]: 4: Hoare triple {1131#true} call #t~ret6 := main(); {1131#true} is VALID [2022-04-15 14:43:50,046 INFO L290 TraceCheckUtils]: 5: Hoare triple {1131#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1131#true} is VALID [2022-04-15 14:43:50,046 INFO L272 TraceCheckUtils]: 6: Hoare triple {1131#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1131#true} is VALID [2022-04-15 14:43:50,047 INFO L290 TraceCheckUtils]: 7: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 14:43:50,047 INFO L290 TraceCheckUtils]: 8: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 14:43:50,047 INFO L290 TraceCheckUtils]: 9: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 14:43:50,047 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1131#true} {1131#true} #66#return; {1131#true} is VALID [2022-04-15 14:43:50,047 INFO L290 TraceCheckUtils]: 11: Hoare triple {1131#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1131#true} is VALID [2022-04-15 14:43:50,047 INFO L272 TraceCheckUtils]: 12: Hoare triple {1131#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1131#true} is VALID [2022-04-15 14:43:50,047 INFO L290 TraceCheckUtils]: 13: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 14:43:50,048 INFO L290 TraceCheckUtils]: 14: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 14:43:50,048 INFO L290 TraceCheckUtils]: 15: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 14:43:50,048 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1131#true} {1131#true} #68#return; {1131#true} is VALID [2022-04-15 14:43:50,048 INFO L272 TraceCheckUtils]: 17: Hoare triple {1131#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1131#true} is VALID [2022-04-15 14:43:50,048 INFO L290 TraceCheckUtils]: 18: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 14:43:50,048 INFO L290 TraceCheckUtils]: 19: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 14:43:50,048 INFO L290 TraceCheckUtils]: 20: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 14:43:50,049 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1131#true} {1131#true} #70#return; {1131#true} is VALID [2022-04-15 14:43:50,049 INFO L272 TraceCheckUtils]: 22: Hoare triple {1131#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1131#true} is VALID [2022-04-15 14:43:50,049 INFO L290 TraceCheckUtils]: 23: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 14:43:50,049 INFO L290 TraceCheckUtils]: 24: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 14:43:50,049 INFO L290 TraceCheckUtils]: 25: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 14:43:50,049 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1131#true} {1131#true} #72#return; {1131#true} is VALID [2022-04-15 14:43:50,051 INFO L290 TraceCheckUtils]: 27: Hoare triple {1131#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:43:50,051 INFO L290 TraceCheckUtils]: 28: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:43:50,051 INFO L272 TraceCheckUtils]: 29: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1131#true} is VALID [2022-04-15 14:43:50,051 INFO L290 TraceCheckUtils]: 30: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 14:43:50,052 INFO L290 TraceCheckUtils]: 31: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 14:43:50,052 INFO L290 TraceCheckUtils]: 32: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 14:43:50,053 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1131#true} {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:43:50,053 INFO L272 TraceCheckUtils]: 34: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1131#true} is VALID [2022-04-15 14:43:50,053 INFO L290 TraceCheckUtils]: 35: Hoare triple {1131#true} ~cond := #in~cond; {1131#true} is VALID [2022-04-15 14:43:50,053 INFO L290 TraceCheckUtils]: 36: Hoare triple {1131#true} assume !(0 == ~cond); {1131#true} is VALID [2022-04-15 14:43:50,053 INFO L290 TraceCheckUtils]: 37: Hoare triple {1131#true} assume true; {1131#true} is VALID [2022-04-15 14:43:50,054 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1131#true} {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:43:50,055 INFO L272 TraceCheckUtils]: 39: Hoare triple {1217#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1254#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:50,055 INFO L290 TraceCheckUtils]: 40: Hoare triple {1254#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1258#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:50,056 INFO L290 TraceCheckUtils]: 41: Hoare triple {1258#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1132#false} is VALID [2022-04-15 14:43:50,056 INFO L290 TraceCheckUtils]: 42: Hoare triple {1132#false} assume !false; {1132#false} is VALID [2022-04-15 14:43:50,056 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 14:43:50,057 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:43:50,057 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:50,057 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2082962434] [2022-04-15 14:43:50,057 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:43:50,057 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [443341082] [2022-04-15 14:43:50,057 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [443341082] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:50,057 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:50,057 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:50,058 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:50,058 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1635887919] [2022-04-15 14:43:50,058 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1635887919] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:50,058 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:50,058 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:50,058 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1920778723] [2022-04-15 14:43:50,058 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:50,059 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-15 14:43:50,059 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:50,059 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 14:43:50,083 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-15 14:43:50,083 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:43:50,086 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:50,087 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:43:50,087 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:43:50,088 INFO L87 Difference]: Start difference. First operand 49 states and 65 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 14:43:50,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:50,320 INFO L93 Difference]: Finished difference Result 74 states and 105 transitions. [2022-04-15 14:43:50,320 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:43:50,321 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-15 14:43:50,321 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:50,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 14:43:50,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 14:43:50,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 14:43:50,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 14:43:50,326 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 14:43:50,382 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:50,387 INFO L225 Difference]: With dead ends: 74 [2022-04-15 14:43:50,387 INFO L226 Difference]: Without dead ends: 70 [2022-04-15 14:43:50,388 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 14:43:50,391 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:50,392 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 139 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:43:50,394 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-15 14:43:50,434 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-15 14:43:50,435 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:50,437 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 14:43:50,437 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 14:43:50,440 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 14:43:50,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:50,448 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-15 14:43:50,448 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-15 14:43:50,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:50,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:50,455 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-15 14:43:50,456 INFO L87 Difference]: Start difference. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-15 14:43:50,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:50,462 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-15 14:43:50,462 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-15 14:43:50,463 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:50,463 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:50,463 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:50,463 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:50,464 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 14:43:50,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 98 transitions. [2022-04-15 14:43:50,470 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 98 transitions. Word has length 43 [2022-04-15 14:43:50,472 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:50,472 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 98 transitions. [2022-04-15 14:43:50,473 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 14:43:50,473 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 98 transitions. [2022-04-15 14:43:50,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:50,587 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-15 14:43:50,587 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 14:43:50,588 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:50,588 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:50,615 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 14:43:50,809 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:50,810 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:50,810 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:50,811 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 1 times [2022-04-15 14:43:50,811 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:50,811 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [216646020] [2022-04-15 14:43:50,811 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:50,811 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 2 times [2022-04-15 14:43:50,812 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:50,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [353385134] [2022-04-15 14:43:50,812 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:50,812 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:50,834 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:50,834 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1500233842] [2022-04-15 14:43:50,834 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:43:50,835 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:50,835 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:50,863 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:43:50,865 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 14:43:50,909 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:43:50,909 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:50,910 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 14:43:50,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:50,924 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:51,081 INFO L272 TraceCheckUtils]: 0: Hoare triple {1694#true} call ULTIMATE.init(); {1694#true} is VALID [2022-04-15 14:43:51,081 INFO L290 TraceCheckUtils]: 1: Hoare triple {1694#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1694#true} is VALID [2022-04-15 14:43:51,081 INFO L290 TraceCheckUtils]: 2: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 14:43:51,082 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1694#true} {1694#true} #88#return; {1694#true} is VALID [2022-04-15 14:43:51,082 INFO L272 TraceCheckUtils]: 4: Hoare triple {1694#true} call #t~ret6 := main(); {1694#true} is VALID [2022-04-15 14:43:51,082 INFO L290 TraceCheckUtils]: 5: Hoare triple {1694#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1694#true} is VALID [2022-04-15 14:43:51,083 INFO L272 TraceCheckUtils]: 6: Hoare triple {1694#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1694#true} is VALID [2022-04-15 14:43:51,083 INFO L290 TraceCheckUtils]: 7: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 14:43:51,083 INFO L290 TraceCheckUtils]: 8: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 14:43:51,083 INFO L290 TraceCheckUtils]: 9: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 14:43:51,083 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1694#true} {1694#true} #66#return; {1694#true} is VALID [2022-04-15 14:43:51,083 INFO L290 TraceCheckUtils]: 11: Hoare triple {1694#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1694#true} is VALID [2022-04-15 14:43:51,083 INFO L272 TraceCheckUtils]: 12: Hoare triple {1694#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1694#true} is VALID [2022-04-15 14:43:51,084 INFO L290 TraceCheckUtils]: 13: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 14:43:51,084 INFO L290 TraceCheckUtils]: 14: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 14:43:51,084 INFO L290 TraceCheckUtils]: 15: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 14:43:51,084 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1694#true} {1694#true} #68#return; {1694#true} is VALID [2022-04-15 14:43:51,084 INFO L272 TraceCheckUtils]: 17: Hoare triple {1694#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1694#true} is VALID [2022-04-15 14:43:51,084 INFO L290 TraceCheckUtils]: 18: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 14:43:51,084 INFO L290 TraceCheckUtils]: 19: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 14:43:51,085 INFO L290 TraceCheckUtils]: 20: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 14:43:51,085 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1694#true} {1694#true} #70#return; {1694#true} is VALID [2022-04-15 14:43:51,085 INFO L272 TraceCheckUtils]: 22: Hoare triple {1694#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1694#true} is VALID [2022-04-15 14:43:51,085 INFO L290 TraceCheckUtils]: 23: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 14:43:51,085 INFO L290 TraceCheckUtils]: 24: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 14:43:51,085 INFO L290 TraceCheckUtils]: 25: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 14:43:51,085 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1694#true} {1694#true} #72#return; {1694#true} is VALID [2022-04-15 14:43:51,085 INFO L290 TraceCheckUtils]: 27: Hoare triple {1694#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1694#true} is VALID [2022-04-15 14:43:51,085 INFO L290 TraceCheckUtils]: 28: Hoare triple {1694#true} assume !false; {1694#true} is VALID [2022-04-15 14:43:51,086 INFO L272 TraceCheckUtils]: 29: Hoare triple {1694#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1694#true} is VALID [2022-04-15 14:43:51,086 INFO L290 TraceCheckUtils]: 30: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 14:43:51,086 INFO L290 TraceCheckUtils]: 31: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 14:43:51,086 INFO L290 TraceCheckUtils]: 32: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 14:43:51,086 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1694#true} {1694#true} #74#return; {1694#true} is VALID [2022-04-15 14:43:51,086 INFO L272 TraceCheckUtils]: 34: Hoare triple {1694#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1694#true} is VALID [2022-04-15 14:43:51,086 INFO L290 TraceCheckUtils]: 35: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 14:43:51,086 INFO L290 TraceCheckUtils]: 36: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 14:43:51,087 INFO L290 TraceCheckUtils]: 37: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 14:43:51,087 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1694#true} {1694#true} #76#return; {1694#true} is VALID [2022-04-15 14:43:51,087 INFO L272 TraceCheckUtils]: 39: Hoare triple {1694#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1694#true} is VALID [2022-04-15 14:43:51,087 INFO L290 TraceCheckUtils]: 40: Hoare triple {1694#true} ~cond := #in~cond; {1694#true} is VALID [2022-04-15 14:43:51,087 INFO L290 TraceCheckUtils]: 41: Hoare triple {1694#true} assume !(0 == ~cond); {1694#true} is VALID [2022-04-15 14:43:51,087 INFO L290 TraceCheckUtils]: 42: Hoare triple {1694#true} assume true; {1694#true} is VALID [2022-04-15 14:43:51,087 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1694#true} {1694#true} #78#return; {1694#true} is VALID [2022-04-15 14:43:51,088 INFO L290 TraceCheckUtils]: 44: Hoare triple {1694#true} assume !(~a~0 != ~b~0); {1831#(= main_~b~0 main_~a~0)} is VALID [2022-04-15 14:43:51,089 INFO L272 TraceCheckUtils]: 45: Hoare triple {1831#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {1835#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:51,089 INFO L290 TraceCheckUtils]: 46: Hoare triple {1835#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1839#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:51,090 INFO L290 TraceCheckUtils]: 47: Hoare triple {1839#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1695#false} is VALID [2022-04-15 14:43:51,090 INFO L290 TraceCheckUtils]: 48: Hoare triple {1695#false} assume !false; {1695#false} is VALID [2022-04-15 14:43:51,090 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 14:43:51,090 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:43:51,090 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:51,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [353385134] [2022-04-15 14:43:51,091 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:43:51,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1500233842] [2022-04-15 14:43:51,091 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1500233842] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:51,091 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:51,091 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:51,091 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:51,092 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [216646020] [2022-04-15 14:43:51,092 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [216646020] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:51,092 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:51,092 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:51,092 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1533353290] [2022-04-15 14:43:51,092 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:51,092 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-15 14:43:51,093 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:51,093 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-15 14:43:51,121 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-15 14:43:51,121 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:43:51,121 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:51,121 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:43:51,121 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:43:51,122 INFO L87 Difference]: Start difference. First operand 70 states and 98 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-15 14:43:51,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:51,329 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-15 14:43:51,329 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:43:51,330 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-15 14:43:51,330 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:51,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-15 14:43:51,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-15 14:43:51,332 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-15 14:43:51,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-15 14:43:51,333 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-15 14:43:51,370 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-15 14:43:51,373 INFO L225 Difference]: With dead ends: 76 [2022-04-15 14:43:51,373 INFO L226 Difference]: Without dead ends: 74 [2022-04-15 14:43:51,373 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 14:43:51,374 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 5 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:51,374 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 139 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:43:51,375 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-15 14:43:51,413 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-15 14:43:51,413 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:51,415 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 14:43:51,415 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 14:43:51,416 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 14:43:51,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:51,422 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-15 14:43:51,422 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-15 14:43:51,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:51,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:51,423 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-15 14:43:51,423 INFO L87 Difference]: Start difference. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-15 14:43:51,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:51,427 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-15 14:43:51,427 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-15 14:43:51,427 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:51,427 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:51,427 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:51,428 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:51,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 14:43:51,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 101 transitions. [2022-04-15 14:43:51,434 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 101 transitions. Word has length 49 [2022-04-15 14:43:51,434 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:51,434 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 101 transitions. [2022-04-15 14:43:51,434 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-15 14:43:51,435 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 101 transitions. [2022-04-15 14:43:51,570 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:51,571 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-15 14:43:51,571 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-15 14:43:51,571 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:51,571 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:51,591 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 14:43:51,779 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:51,779 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:51,780 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:51,780 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 1 times [2022-04-15 14:43:51,780 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:51,780 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [959956769] [2022-04-15 14:43:51,781 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:51,781 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 2 times [2022-04-15 14:43:51,781 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:51,781 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1924284838] [2022-04-15 14:43:51,781 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:51,781 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:51,802 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:51,803 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [807182364] [2022-04-15 14:43:51,803 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:43:51,803 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:51,803 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:51,804 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:43:51,805 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 14:43:51,856 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:43:51,856 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:51,857 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 14:43:51,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:51,872 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:52,106 INFO L272 TraceCheckUtils]: 0: Hoare triple {2295#true} call ULTIMATE.init(); {2295#true} is VALID [2022-04-15 14:43:52,107 INFO L290 TraceCheckUtils]: 1: Hoare triple {2295#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2295#true} is VALID [2022-04-15 14:43:52,107 INFO L290 TraceCheckUtils]: 2: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 14:43:52,107 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2295#true} {2295#true} #88#return; {2295#true} is VALID [2022-04-15 14:43:52,107 INFO L272 TraceCheckUtils]: 4: Hoare triple {2295#true} call #t~ret6 := main(); {2295#true} is VALID [2022-04-15 14:43:52,107 INFO L290 TraceCheckUtils]: 5: Hoare triple {2295#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2295#true} is VALID [2022-04-15 14:43:52,107 INFO L272 TraceCheckUtils]: 6: Hoare triple {2295#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2295#true} is VALID [2022-04-15 14:43:52,108 INFO L290 TraceCheckUtils]: 7: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 14:43:52,108 INFO L290 TraceCheckUtils]: 8: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 14:43:52,108 INFO L290 TraceCheckUtils]: 9: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 14:43:52,108 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2295#true} {2295#true} #66#return; {2295#true} is VALID [2022-04-15 14:43:52,108 INFO L290 TraceCheckUtils]: 11: Hoare triple {2295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2295#true} is VALID [2022-04-15 14:43:52,108 INFO L272 TraceCheckUtils]: 12: Hoare triple {2295#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2295#true} is VALID [2022-04-15 14:43:52,108 INFO L290 TraceCheckUtils]: 13: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 14:43:52,108 INFO L290 TraceCheckUtils]: 14: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 14:43:52,108 INFO L290 TraceCheckUtils]: 15: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 14:43:52,109 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2295#true} {2295#true} #68#return; {2295#true} is VALID [2022-04-15 14:43:52,109 INFO L272 TraceCheckUtils]: 17: Hoare triple {2295#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2295#true} is VALID [2022-04-15 14:43:52,109 INFO L290 TraceCheckUtils]: 18: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 14:43:52,109 INFO L290 TraceCheckUtils]: 19: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 14:43:52,109 INFO L290 TraceCheckUtils]: 20: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 14:43:52,109 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2295#true} {2295#true} #70#return; {2295#true} is VALID [2022-04-15 14:43:52,109 INFO L272 TraceCheckUtils]: 22: Hoare triple {2295#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2295#true} is VALID [2022-04-15 14:43:52,109 INFO L290 TraceCheckUtils]: 23: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 14:43:52,110 INFO L290 TraceCheckUtils]: 24: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 14:43:52,110 INFO L290 TraceCheckUtils]: 25: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 14:43:52,110 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2295#true} {2295#true} #72#return; {2295#true} is VALID [2022-04-15 14:43:52,111 INFO L290 TraceCheckUtils]: 27: Hoare triple {2295#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:52,117 INFO L290 TraceCheckUtils]: 28: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:52,117 INFO L272 TraceCheckUtils]: 29: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2295#true} is VALID [2022-04-15 14:43:52,117 INFO L290 TraceCheckUtils]: 30: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 14:43:52,117 INFO L290 TraceCheckUtils]: 31: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 14:43:52,118 INFO L290 TraceCheckUtils]: 32: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 14:43:52,118 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:52,119 INFO L272 TraceCheckUtils]: 34: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2295#true} is VALID [2022-04-15 14:43:52,119 INFO L290 TraceCheckUtils]: 35: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 14:43:52,119 INFO L290 TraceCheckUtils]: 36: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 14:43:52,119 INFO L290 TraceCheckUtils]: 37: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 14:43:52,124 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:52,124 INFO L272 TraceCheckUtils]: 39: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2295#true} is VALID [2022-04-15 14:43:52,124 INFO L290 TraceCheckUtils]: 40: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2022-04-15 14:43:52,124 INFO L290 TraceCheckUtils]: 41: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2022-04-15 14:43:52,125 INFO L290 TraceCheckUtils]: 42: Hoare triple {2295#true} assume true; {2295#true} is VALID [2022-04-15 14:43:52,130 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2295#true} {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:52,131 INFO L290 TraceCheckUtils]: 44: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:52,131 INFO L290 TraceCheckUtils]: 45: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:52,132 INFO L290 TraceCheckUtils]: 46: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:43:52,133 INFO L272 TraceCheckUtils]: 47: Hoare triple {2381#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2442#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:52,133 INFO L290 TraceCheckUtils]: 48: Hoare triple {2442#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2446#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:52,133 INFO L290 TraceCheckUtils]: 49: Hoare triple {2446#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2296#false} is VALID [2022-04-15 14:43:52,134 INFO L290 TraceCheckUtils]: 50: Hoare triple {2296#false} assume !false; {2296#false} is VALID [2022-04-15 14:43:52,134 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-15 14:43:52,134 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:43:52,134 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:43:52,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1924284838] [2022-04-15 14:43:52,134 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:43:52,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [807182364] [2022-04-15 14:43:52,134 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [807182364] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:52,135 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:52,135 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:52,135 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:43:52,135 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [959956769] [2022-04-15 14:43:52,135 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [959956769] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:43:52,135 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:43:52,135 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:43:52,135 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [318555030] [2022-04-15 14:43:52,135 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:43:52,136 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-15 14:43:52,136 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:43:52,136 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:43:52,173 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:52,173 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:43:52,173 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:52,174 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:43:52,174 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:43:52,174 INFO L87 Difference]: Start difference. First operand 74 states and 101 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:43:52,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:52,421 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2022-04-15 14:43:52,421 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:43:52,421 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-15 14:43:52,421 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:43:52,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:43:52,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-15 14:43:52,423 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:43:52,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-15 14:43:52,425 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-15 14:43:52,479 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-15 14:43:52,481 INFO L225 Difference]: With dead ends: 84 [2022-04-15 14:43:52,482 INFO L226 Difference]: Without dead ends: 81 [2022-04-15 14:43:52,482 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 14:43:52,482 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 6 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:43:52,483 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 146 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:43:52,483 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-15 14:43:52,521 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 79. [2022-04-15 14:43:52,521 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:43:52,522 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 14:43:52,522 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 14:43:52,522 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 14:43:52,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:52,526 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-15 14:43:52,526 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-15 14:43:52,527 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:52,527 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:52,527 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-15 14:43:52,528 INFO L87 Difference]: Start difference. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-15 14:43:52,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:43:52,531 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-15 14:43:52,531 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-15 14:43:52,532 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:43:52,532 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:43:52,532 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:43:52,532 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:43:52,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 14:43:52,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 102 transitions. [2022-04-15 14:43:52,536 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 102 transitions. Word has length 51 [2022-04-15 14:43:52,536 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:43:52,536 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 102 transitions. [2022-04-15 14:43:52,536 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:43:52,536 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 102 transitions. [2022-04-15 14:43:52,654 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:43:52,654 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 102 transitions. [2022-04-15 14:43:52,655 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-15 14:43:52,655 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:43:52,655 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:43:52,682 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-15 14:43:52,879 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:52,880 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:43:52,880 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:43:52,880 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 1 times [2022-04-15 14:43:52,880 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:43:52,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1728517110] [2022-04-15 14:43:52,881 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:43:52,881 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 2 times [2022-04-15 14:43:52,881 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:43:52,881 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [160052085] [2022-04-15 14:43:52,881 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:43:52,881 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:43:52,897 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:43:52,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1777564942] [2022-04-15 14:43:52,897 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:43:52,897 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:43:52,897 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:43:52,900 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:43:52,914 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 14:43:52,948 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:43:52,948 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:43:52,949 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 14:43:52,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:43:52,969 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:43:53,173 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-15 14:43:53,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {2942#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2942#true} is VALID [2022-04-15 14:43:53,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:53,173 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-15 14:43:53,173 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-15 14:43:53,173 INFO L290 TraceCheckUtils]: 5: Hoare triple {2942#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2942#true} is VALID [2022-04-15 14:43:53,173 INFO L272 TraceCheckUtils]: 6: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:53,173 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:53,174 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:53,174 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:53,174 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-15 14:43:53,174 INFO L290 TraceCheckUtils]: 11: Hoare triple {2942#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2942#true} is VALID [2022-04-15 14:43:53,174 INFO L272 TraceCheckUtils]: 12: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:53,174 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:53,174 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:53,174 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:53,174 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-15 14:43:53,174 INFO L272 TraceCheckUtils]: 17: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:53,174 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:53,174 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:53,174 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:53,174 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-15 14:43:53,175 INFO L272 TraceCheckUtils]: 22: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:53,175 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:53,175 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:53,175 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:53,175 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-15 14:43:53,175 INFO L290 TraceCheckUtils]: 27: Hoare triple {2942#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2942#true} is VALID [2022-04-15 14:43:53,175 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-15 14:43:53,175 INFO L272 TraceCheckUtils]: 29: Hoare triple {2942#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:53,175 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:53,176 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:53,176 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:53,176 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-15 14:43:53,176 INFO L272 TraceCheckUtils]: 34: Hoare triple {2942#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:53,176 INFO L290 TraceCheckUtils]: 35: Hoare triple {2942#true} ~cond := #in~cond; {3052#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:53,177 INFO L290 TraceCheckUtils]: 36: Hoare triple {3052#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:43:53,177 INFO L290 TraceCheckUtils]: 37: Hoare triple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:43:53,178 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} {2942#true} #76#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:53,179 INFO L272 TraceCheckUtils]: 39: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:53,179 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:53,179 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:53,179 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:53,184 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2942#true} {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:53,184 INFO L290 TraceCheckUtils]: 44: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:53,185 INFO L272 TraceCheckUtils]: 45: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:43:53,185 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:43:53,195 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:43:53,195 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:43:53,200 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2942#true} {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:43:53,201 INFO L272 TraceCheckUtils]: 50: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:43:53,202 INFO L290 TraceCheckUtils]: 51: Hoare triple {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3105#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:43:53,202 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-15 14:43:53,202 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-15 14:43:53,204 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-15 14:43:53,205 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:44:08,624 INFO L290 TraceCheckUtils]: 53: Hoare triple {2943#false} assume !false; {2943#false} is VALID [2022-04-15 14:44:08,625 INFO L290 TraceCheckUtils]: 52: Hoare triple {3105#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2943#false} is VALID [2022-04-15 14:44:08,625 INFO L290 TraceCheckUtils]: 51: Hoare triple {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3105#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:08,626 INFO L272 TraceCheckUtils]: 50: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {3101#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:44:08,627 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2942#true} {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:44:08,627 INFO L290 TraceCheckUtils]: 48: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:44:08,627 INFO L290 TraceCheckUtils]: 47: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:44:08,627 INFO L290 TraceCheckUtils]: 46: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:44:08,627 INFO L272 TraceCheckUtils]: 45: Hoare triple {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:44:08,628 INFO L290 TraceCheckUtils]: 44: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3082#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:44:08,629 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2942#true} {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:44:08,629 INFO L290 TraceCheckUtils]: 42: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:44:08,629 INFO L290 TraceCheckUtils]: 41: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:44:08,629 INFO L290 TraceCheckUtils]: 40: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:44:08,629 INFO L272 TraceCheckUtils]: 39: Hoare triple {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:44:08,630 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} {2942#true} #76#return; {3063#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:44:08,631 INFO L290 TraceCheckUtils]: 37: Hoare triple {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:08,631 INFO L290 TraceCheckUtils]: 36: Hoare triple {3166#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3056#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:08,631 INFO L290 TraceCheckUtils]: 35: Hoare triple {2942#true} ~cond := #in~cond; {3166#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:44:08,632 INFO L272 TraceCheckUtils]: 34: Hoare triple {2942#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:44:08,632 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2942#true} {2942#true} #74#return; {2942#true} is VALID [2022-04-15 14:44:08,632 INFO L290 TraceCheckUtils]: 32: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:44:08,632 INFO L290 TraceCheckUtils]: 31: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:44:08,632 INFO L290 TraceCheckUtils]: 30: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:44:08,632 INFO L272 TraceCheckUtils]: 29: Hoare triple {2942#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:44:08,632 INFO L290 TraceCheckUtils]: 28: Hoare triple {2942#true} assume !false; {2942#true} is VALID [2022-04-15 14:44:08,632 INFO L290 TraceCheckUtils]: 27: Hoare triple {2942#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2942#true} is VALID [2022-04-15 14:44:08,632 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2942#true} {2942#true} #72#return; {2942#true} is VALID [2022-04-15 14:44:08,633 INFO L290 TraceCheckUtils]: 25: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:44:08,633 INFO L290 TraceCheckUtils]: 24: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:44:08,633 INFO L290 TraceCheckUtils]: 23: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:44:08,633 INFO L272 TraceCheckUtils]: 22: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:44:08,633 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2942#true} {2942#true} #70#return; {2942#true} is VALID [2022-04-15 14:44:08,633 INFO L290 TraceCheckUtils]: 20: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:44:08,633 INFO L290 TraceCheckUtils]: 19: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:44:08,633 INFO L290 TraceCheckUtils]: 18: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:44:08,633 INFO L272 TraceCheckUtils]: 17: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:44:08,633 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2942#true} {2942#true} #68#return; {2942#true} is VALID [2022-04-15 14:44:08,633 INFO L290 TraceCheckUtils]: 15: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:44:08,634 INFO L290 TraceCheckUtils]: 14: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:44:08,634 INFO L290 TraceCheckUtils]: 13: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:44:08,634 INFO L272 TraceCheckUtils]: 12: Hoare triple {2942#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:44:08,634 INFO L290 TraceCheckUtils]: 11: Hoare triple {2942#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2942#true} is VALID [2022-04-15 14:44:08,634 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2942#true} {2942#true} #66#return; {2942#true} is VALID [2022-04-15 14:44:08,634 INFO L290 TraceCheckUtils]: 9: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:44:08,634 INFO L290 TraceCheckUtils]: 8: Hoare triple {2942#true} assume !(0 == ~cond); {2942#true} is VALID [2022-04-15 14:44:08,634 INFO L290 TraceCheckUtils]: 7: Hoare triple {2942#true} ~cond := #in~cond; {2942#true} is VALID [2022-04-15 14:44:08,634 INFO L272 TraceCheckUtils]: 6: Hoare triple {2942#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2942#true} is VALID [2022-04-15 14:44:08,634 INFO L290 TraceCheckUtils]: 5: Hoare triple {2942#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2942#true} is VALID [2022-04-15 14:44:08,635 INFO L272 TraceCheckUtils]: 4: Hoare triple {2942#true} call #t~ret6 := main(); {2942#true} is VALID [2022-04-15 14:44:08,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2942#true} {2942#true} #88#return; {2942#true} is VALID [2022-04-15 14:44:08,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {2942#true} assume true; {2942#true} is VALID [2022-04-15 14:44:08,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {2942#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2942#true} is VALID [2022-04-15 14:44:08,635 INFO L272 TraceCheckUtils]: 0: Hoare triple {2942#true} call ULTIMATE.init(); {2942#true} is VALID [2022-04-15 14:44:08,635 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-15 14:44:08,635 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:44:08,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [160052085] [2022-04-15 14:44:08,636 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:44:08,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1777564942] [2022-04-15 14:44:08,636 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1777564942] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:44:08,636 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:44:08,636 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 14:44:08,636 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:44:08,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1728517110] [2022-04-15 14:44:08,636 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1728517110] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:08,636 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:08,637 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:44:08,637 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [725787590] [2022-04-15 14:44:08,637 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:44:08,637 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-15 14:44:08,637 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:44:08,638 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:44:08,671 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-15 14:44:08,671 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 14:44:08,671 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:08,671 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 14:44:08,671 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:44:08,672 INFO L87 Difference]: Start difference. First operand 79 states and 102 transitions. Second operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:44:09,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:09,330 INFO L93 Difference]: Finished difference Result 88 states and 112 transitions. [2022-04-15 14:44:09,330 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 14:44:09,331 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-15 14:44:09,331 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:44:09,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:44:09,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-15 14:44:09,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:44:09,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-15 14:44:09,334 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 52 transitions. [2022-04-15 14:44:09,383 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:44:09,385 INFO L225 Difference]: With dead ends: 88 [2022-04-15 14:44:09,385 INFO L226 Difference]: Without dead ends: 84 [2022-04-15 14:44:09,386 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-15 14:44:09,386 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 122 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 133 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 122 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 14:44:09,387 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 129 Invalid, 133 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 122 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 14:44:09,387 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-15 14:44:09,424 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-04-15 14:44:09,424 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:44:09,424 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 14:44:09,425 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 14:44:09,425 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 14:44:09,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:09,428 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-15 14:44:09,428 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-15 14:44:09,429 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:09,429 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:09,429 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-15 14:44:09,430 INFO L87 Difference]: Start difference. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-15 14:44:09,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:09,433 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-15 14:44:09,433 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-15 14:44:09,434 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:09,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:09,434 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:44:09,434 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:44:09,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 14:44:09,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 105 transitions. [2022-04-15 14:44:09,438 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 105 transitions. Word has length 54 [2022-04-15 14:44:09,438 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:44:09,438 INFO L478 AbstractCegarLoop]: Abstraction has 84 states and 105 transitions. [2022-04-15 14:44:09,438 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:44:09,438 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 105 transitions. [2022-04-15 14:44:09,567 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:44:09,568 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-15 14:44:09,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-15 14:44:09,568 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:44:09,568 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:44:09,586 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 14:44:09,769 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:09,769 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:44:09,769 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:44:09,769 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 3 times [2022-04-15 14:44:09,769 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:09,770 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1255878697] [2022-04-15 14:44:09,770 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:44:09,770 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 4 times [2022-04-15 14:44:09,770 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:44:09,770 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [422238046] [2022-04-15 14:44:09,770 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:44:09,771 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:44:09,785 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:44:09,785 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1625996301] [2022-04-15 14:44:09,786 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:44:09,786 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:09,786 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:44:09,787 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:44:09,809 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 14:44:09,844 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:44:09,845 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:44:09,846 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-15 14:44:09,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:09,861 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:44:10,179 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-15 14:44:10,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {3792#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3792#true} is VALID [2022-04-15 14:44:10,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:10,180 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-15 14:44:10,182 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-15 14:44:10,183 INFO L290 TraceCheckUtils]: 5: Hoare triple {3792#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3792#true} is VALID [2022-04-15 14:44:10,183 INFO L272 TraceCheckUtils]: 6: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:44:10,184 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:44:10,184 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:44:10,187 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:10,187 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-15 14:44:10,187 INFO L290 TraceCheckUtils]: 11: Hoare triple {3792#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3792#true} is VALID [2022-04-15 14:44:10,187 INFO L272 TraceCheckUtils]: 12: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:44:10,187 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:44:10,187 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:44:10,187 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:10,187 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-15 14:44:10,188 INFO L272 TraceCheckUtils]: 17: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:44:10,188 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:44:10,188 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:44:10,188 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:10,192 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-15 14:44:10,192 INFO L272 TraceCheckUtils]: 22: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:44:10,192 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:44:10,192 INFO L290 TraceCheckUtils]: 24: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:44:10,192 INFO L290 TraceCheckUtils]: 25: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:10,192 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3792#true} {3792#true} #72#return; {3792#true} is VALID [2022-04-15 14:44:10,193 INFO L290 TraceCheckUtils]: 27: Hoare triple {3792#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:10,195 INFO L290 TraceCheckUtils]: 28: Hoare triple {3878#(and (= 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; {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:10,195 INFO L272 TraceCheckUtils]: 29: Hoare triple {3878#(and (= 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)); {3792#true} is VALID [2022-04-15 14:44:10,195 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:44:10,195 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:44:10,195 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:10,196 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3792#true} {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:10,196 INFO L272 TraceCheckUtils]: 34: Hoare triple {3878#(and (= 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)); {3792#true} is VALID [2022-04-15 14:44:10,196 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:44:10,196 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:44:10,196 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:10,197 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3792#true} {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:10,197 INFO L272 TraceCheckUtils]: 39: Hoare triple {3878#(and (= 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)); {3792#true} is VALID [2022-04-15 14:44:10,197 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:44:10,197 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:44:10,197 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:10,198 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3792#true} {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:10,198 INFO L290 TraceCheckUtils]: 44: Hoare triple {3878#(and (= 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); {3878#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:10,199 INFO L290 TraceCheckUtils]: 45: Hoare triple {3878#(and (= 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; {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-15 14:44:10,199 INFO L290 TraceCheckUtils]: 46: Hoare triple {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} assume !false; {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-15 14:44:10,199 INFO L272 TraceCheckUtils]: 47: Hoare triple {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:44:10,200 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:44:10,200 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:44:10,200 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:10,200 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3792#true} {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} #74#return; {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-15 14:44:10,201 INFO L272 TraceCheckUtils]: 52: Hoare triple {3933#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:44:10,201 INFO L290 TraceCheckUtils]: 53: Hoare triple {3955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:10,202 INFO L290 TraceCheckUtils]: 54: Hoare triple {3959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-15 14:44:10,202 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-15 14:44:10,203 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-15 14:44:10,203 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:44:10,432 INFO L290 TraceCheckUtils]: 55: Hoare triple {3793#false} assume !false; {3793#false} is VALID [2022-04-15 14:44:10,433 INFO L290 TraceCheckUtils]: 54: Hoare triple {3959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3793#false} is VALID [2022-04-15 14:44:10,433 INFO L290 TraceCheckUtils]: 53: Hoare triple {3955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:10,434 INFO L272 TraceCheckUtils]: 52: Hoare triple {3975#(= 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)); {3955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:44:10,435 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3792#true} {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:44:10,435 INFO L290 TraceCheckUtils]: 50: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:10,435 INFO L290 TraceCheckUtils]: 49: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:44:10,435 INFO L290 TraceCheckUtils]: 48: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:44:10,435 INFO L272 TraceCheckUtils]: 47: Hoare triple {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:44:10,435 INFO L290 TraceCheckUtils]: 46: Hoare triple {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:44:11,309 INFO L290 TraceCheckUtils]: 45: Hoare triple {3997#(= (+ main_~a~0 (* (- 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; {3975#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:44:11,310 INFO L290 TraceCheckUtils]: 44: Hoare triple {3997#(= (+ main_~a~0 (* (- 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); {3997#(= (+ main_~a~0 (* (- 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-15 14:44:11,311 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3792#true} {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #78#return; {3997#(= (+ main_~a~0 (* (- 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-15 14:44:11,311 INFO L290 TraceCheckUtils]: 42: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:11,311 INFO L290 TraceCheckUtils]: 41: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:44:11,311 INFO L290 TraceCheckUtils]: 40: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:44:11,311 INFO L272 TraceCheckUtils]: 39: Hoare triple {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:44:11,312 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3792#true} {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #76#return; {3997#(= (+ main_~a~0 (* (- 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-15 14:44:11,312 INFO L290 TraceCheckUtils]: 37: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:11,312 INFO L290 TraceCheckUtils]: 36: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:44:11,312 INFO L290 TraceCheckUtils]: 35: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:44:11,312 INFO L272 TraceCheckUtils]: 34: Hoare triple {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:44:11,313 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3792#true} {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #74#return; {3997#(= (+ main_~a~0 (* (- 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-15 14:44:11,313 INFO L290 TraceCheckUtils]: 32: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:11,313 INFO L290 TraceCheckUtils]: 31: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:44:11,313 INFO L290 TraceCheckUtils]: 30: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:44:11,313 INFO L272 TraceCheckUtils]: 29: Hoare triple {3997#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:44:11,313 INFO L290 TraceCheckUtils]: 28: Hoare triple {3997#(= (+ main_~a~0 (* (- 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; {3997#(= (+ main_~a~0 (* (- 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-15 14:44:11,314 INFO L290 TraceCheckUtils]: 27: Hoare triple {3792#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3997#(= (+ main_~a~0 (* (- 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-15 14:44:11,314 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3792#true} {3792#true} #72#return; {3792#true} is VALID [2022-04-15 14:44:11,314 INFO L290 TraceCheckUtils]: 25: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:11,314 INFO L290 TraceCheckUtils]: 24: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:44:11,314 INFO L290 TraceCheckUtils]: 23: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:44:11,314 INFO L272 TraceCheckUtils]: 22: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:44:11,314 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3792#true} {3792#true} #70#return; {3792#true} is VALID [2022-04-15 14:44:11,314 INFO L290 TraceCheckUtils]: 20: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:11,315 INFO L290 TraceCheckUtils]: 19: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:44:11,315 INFO L290 TraceCheckUtils]: 18: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:44:11,315 INFO L272 TraceCheckUtils]: 17: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:44:11,315 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#true} {3792#true} #68#return; {3792#true} is VALID [2022-04-15 14:44:11,315 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:11,315 INFO L290 TraceCheckUtils]: 14: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:44:11,315 INFO L290 TraceCheckUtils]: 13: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:44:11,315 INFO L272 TraceCheckUtils]: 12: Hoare triple {3792#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:44:11,315 INFO L290 TraceCheckUtils]: 11: Hoare triple {3792#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3792#true} is VALID [2022-04-15 14:44:11,315 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#true} {3792#true} #66#return; {3792#true} is VALID [2022-04-15 14:44:11,315 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:11,316 INFO L290 TraceCheckUtils]: 8: Hoare triple {3792#true} assume !(0 == ~cond); {3792#true} is VALID [2022-04-15 14:44:11,316 INFO L290 TraceCheckUtils]: 7: Hoare triple {3792#true} ~cond := #in~cond; {3792#true} is VALID [2022-04-15 14:44:11,316 INFO L272 TraceCheckUtils]: 6: Hoare triple {3792#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {3792#true} is VALID [2022-04-15 14:44:11,316 INFO L290 TraceCheckUtils]: 5: Hoare triple {3792#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3792#true} is VALID [2022-04-15 14:44:11,316 INFO L272 TraceCheckUtils]: 4: Hoare triple {3792#true} call #t~ret6 := main(); {3792#true} is VALID [2022-04-15 14:44:11,316 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3792#true} {3792#true} #88#return; {3792#true} is VALID [2022-04-15 14:44:11,316 INFO L290 TraceCheckUtils]: 2: Hoare triple {3792#true} assume true; {3792#true} is VALID [2022-04-15 14:44:11,316 INFO L290 TraceCheckUtils]: 1: Hoare triple {3792#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3792#true} is VALID [2022-04-15 14:44:11,316 INFO L272 TraceCheckUtils]: 0: Hoare triple {3792#true} call ULTIMATE.init(); {3792#true} is VALID [2022-04-15 14:44:11,317 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-15 14:44:11,317 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:44:11,317 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [422238046] [2022-04-15 14:44:11,317 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:44:11,317 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1625996301] [2022-04-15 14:44:11,317 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1625996301] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:44:11,317 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:44:11,317 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-15 14:44:11,318 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:44:11,318 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1255878697] [2022-04-15 14:44:11,318 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1255878697] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:11,318 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:11,318 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 14:44:11,318 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1184654602] [2022-04-15 14:44:11,318 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:44:11,319 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 56 [2022-04-15 14:44:11,319 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:44:11,319 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:44:11,354 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:44:11,354 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 14:44:11,354 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:11,354 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 14:44:11,355 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-15 14:44:11,355 INFO L87 Difference]: Start difference. First operand 84 states and 105 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:44:11,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:11,840 INFO L93 Difference]: Finished difference Result 118 states and 147 transitions. [2022-04-15 14:44:11,840 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 14:44:11,840 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 56 [2022-04-15 14:44:11,841 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:44:11,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:44:11,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-15 14:44:11,843 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:44:11,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-15 14:44:11,844 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-15 14:44:11,930 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:44:11,933 INFO L225 Difference]: With dead ends: 118 [2022-04-15 14:44:11,933 INFO L226 Difference]: Without dead ends: 116 [2022-04-15 14:44:11,933 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 104 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:44:11,934 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 8 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 125 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 128 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 125 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 14:44:11,934 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 170 Invalid, 128 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 125 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 14:44:11,934 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-15 14:44:11,991 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 112. [2022-04-15 14:44:11,991 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:44:11,992 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-15 14:44:11,992 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-15 14:44:11,993 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-15 14:44:11,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:11,999 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-15 14:44:11,999 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-15 14:44:11,999 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:11,999 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:12,000 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-15 14:44:12,001 INFO L87 Difference]: Start difference. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-15 14:44:12,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:12,007 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-15 14:44:12,007 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-15 14:44:12,007 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:12,007 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:12,007 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:44:12,008 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:44:12,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-15 14:44:12,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 138 transitions. [2022-04-15 14:44:12,013 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 138 transitions. Word has length 56 [2022-04-15 14:44:12,014 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:44:12,014 INFO L478 AbstractCegarLoop]: Abstraction has 112 states and 138 transitions. [2022-04-15 14:44:12,014 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 14:44:12,014 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 138 transitions. [2022-04-15 14:44:12,217 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:44:12,217 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 138 transitions. [2022-04-15 14:44:12,218 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 14:44:12,218 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:44:12,218 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:44:12,244 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-15 14:44:12,419 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:12,419 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:44:12,419 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:44:12,419 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 1 times [2022-04-15 14:44:12,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:12,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1593179382] [2022-04-15 14:44:12,420 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:44:12,420 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 2 times [2022-04-15 14:44:12,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:44:12,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [677739328] [2022-04-15 14:44:12,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:44:12,421 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:44:12,441 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:44:12,441 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [208132924] [2022-04-15 14:44:12,441 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:44:12,441 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:12,442 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:44:12,453 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:44:12,455 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 14:44:12,505 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:44:12,505 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:44:12,506 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 14:44:12,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:12,518 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:44:12,827 INFO L272 TraceCheckUtils]: 0: Hoare triple {4829#true} call ULTIMATE.init(); {4829#true} is VALID [2022-04-15 14:44:12,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {4829#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); {4829#true} is VALID [2022-04-15 14:44:12,828 INFO L290 TraceCheckUtils]: 2: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:12,828 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4829#true} {4829#true} #88#return; {4829#true} is VALID [2022-04-15 14:44:12,828 INFO L272 TraceCheckUtils]: 4: Hoare triple {4829#true} call #t~ret6 := main(); {4829#true} is VALID [2022-04-15 14:44:12,828 INFO L290 TraceCheckUtils]: 5: Hoare triple {4829#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; {4829#true} is VALID [2022-04-15 14:44:12,828 INFO L272 TraceCheckUtils]: 6: Hoare triple {4829#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4829#true} is VALID [2022-04-15 14:44:12,828 INFO L290 TraceCheckUtils]: 7: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:12,828 INFO L290 TraceCheckUtils]: 8: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:12,828 INFO L290 TraceCheckUtils]: 9: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:12,828 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4829#true} {4829#true} #66#return; {4829#true} is VALID [2022-04-15 14:44:12,828 INFO L290 TraceCheckUtils]: 11: Hoare triple {4829#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4829#true} is VALID [2022-04-15 14:44:12,828 INFO L272 TraceCheckUtils]: 12: Hoare triple {4829#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4829#true} is VALID [2022-04-15 14:44:12,829 INFO L290 TraceCheckUtils]: 13: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:12,829 INFO L290 TraceCheckUtils]: 14: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:12,832 INFO L290 TraceCheckUtils]: 15: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:12,832 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4829#true} {4829#true} #68#return; {4829#true} is VALID [2022-04-15 14:44:12,832 INFO L272 TraceCheckUtils]: 17: Hoare triple {4829#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4829#true} is VALID [2022-04-15 14:44:12,832 INFO L290 TraceCheckUtils]: 18: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:12,832 INFO L290 TraceCheckUtils]: 19: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:12,832 INFO L290 TraceCheckUtils]: 20: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:12,832 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4829#true} {4829#true} #70#return; {4829#true} is VALID [2022-04-15 14:44:12,832 INFO L272 TraceCheckUtils]: 22: Hoare triple {4829#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4829#true} is VALID [2022-04-15 14:44:12,832 INFO L290 TraceCheckUtils]: 23: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:12,833 INFO L290 TraceCheckUtils]: 24: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:12,833 INFO L290 TraceCheckUtils]: 25: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:12,833 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4829#true} {4829#true} #72#return; {4829#true} is VALID [2022-04-15 14:44:12,833 INFO L290 TraceCheckUtils]: 27: Hoare triple {4829#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:12,834 INFO L290 TraceCheckUtils]: 28: Hoare triple {4915#(and (= 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; {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:12,834 INFO L272 TraceCheckUtils]: 29: Hoare triple {4915#(and (= 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)); {4829#true} is VALID [2022-04-15 14:44:12,834 INFO L290 TraceCheckUtils]: 30: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:12,834 INFO L290 TraceCheckUtils]: 31: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:12,834 INFO L290 TraceCheckUtils]: 32: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:12,835 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4829#true} {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:12,835 INFO L272 TraceCheckUtils]: 34: Hoare triple {4915#(and (= 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)); {4829#true} is VALID [2022-04-15 14:44:12,835 INFO L290 TraceCheckUtils]: 35: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:12,835 INFO L290 TraceCheckUtils]: 36: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:12,835 INFO L290 TraceCheckUtils]: 37: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:12,836 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4829#true} {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:12,836 INFO L272 TraceCheckUtils]: 39: Hoare triple {4915#(and (= 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)); {4829#true} is VALID [2022-04-15 14:44:12,836 INFO L290 TraceCheckUtils]: 40: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:12,836 INFO L290 TraceCheckUtils]: 41: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:12,836 INFO L290 TraceCheckUtils]: 42: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:12,838 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4829#true} {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:12,839 INFO L290 TraceCheckUtils]: 44: Hoare triple {4915#(and (= 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); {4915#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:12,839 INFO L290 TraceCheckUtils]: 45: Hoare triple {4915#(and (= 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; {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-15 14:44:12,840 INFO L290 TraceCheckUtils]: 46: Hoare triple {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} assume !false; {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-15 14:44:12,840 INFO L272 TraceCheckUtils]: 47: Hoare triple {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4829#true} is VALID [2022-04-15 14:44:12,840 INFO L290 TraceCheckUtils]: 48: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:12,840 INFO L290 TraceCheckUtils]: 49: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:12,840 INFO L290 TraceCheckUtils]: 50: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:12,841 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4829#true} {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #74#return; {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-15 14:44:12,841 INFO L272 TraceCheckUtils]: 52: Hoare triple {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4829#true} is VALID [2022-04-15 14:44:12,841 INFO L290 TraceCheckUtils]: 53: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:12,841 INFO L290 TraceCheckUtils]: 54: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:12,841 INFO L290 TraceCheckUtils]: 55: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:12,842 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4829#true} {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #76#return; {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-15 14:44:12,842 INFO L272 TraceCheckUtils]: 57: Hoare triple {4970#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5007#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:44:12,843 INFO L290 TraceCheckUtils]: 58: Hoare triple {5007#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5011#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:12,843 INFO L290 TraceCheckUtils]: 59: Hoare triple {5011#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4830#false} is VALID [2022-04-15 14:44:12,843 INFO L290 TraceCheckUtils]: 60: Hoare triple {4830#false} assume !false; {4830#false} is VALID [2022-04-15 14:44:12,844 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-15 14:44:12,844 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:44:13,070 INFO L290 TraceCheckUtils]: 60: Hoare triple {4830#false} assume !false; {4830#false} is VALID [2022-04-15 14:44:13,070 INFO L290 TraceCheckUtils]: 59: Hoare triple {5011#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4830#false} is VALID [2022-04-15 14:44:13,071 INFO L290 TraceCheckUtils]: 58: Hoare triple {5007#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5011#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:13,072 INFO L272 TraceCheckUtils]: 57: Hoare triple {5027#(= 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)); {5007#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:44:13,072 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4829#true} {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:44:13,072 INFO L290 TraceCheckUtils]: 55: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:13,073 INFO L290 TraceCheckUtils]: 54: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:13,073 INFO L290 TraceCheckUtils]: 53: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:13,073 INFO L272 TraceCheckUtils]: 52: Hoare triple {5027#(= 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)); {4829#true} is VALID [2022-04-15 14:44:13,073 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4829#true} {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:44:13,073 INFO L290 TraceCheckUtils]: 50: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:13,074 INFO L290 TraceCheckUtils]: 49: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:13,074 INFO L290 TraceCheckUtils]: 48: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:13,074 INFO L272 TraceCheckUtils]: 47: Hoare triple {5027#(= 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)); {4829#true} is VALID [2022-04-15 14:44:13,074 INFO L290 TraceCheckUtils]: 46: Hoare triple {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:44:13,874 INFO L290 TraceCheckUtils]: 45: Hoare triple {5064#(= (+ (* (+ 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; {5027#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:44:13,875 INFO L290 TraceCheckUtils]: 44: Hoare triple {5064#(= (+ (* (+ 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); {5064#(= (+ (* (+ 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-15 14:44:13,876 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4829#true} {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #78#return; {5064#(= (+ (* (+ 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-15 14:44:13,876 INFO L290 TraceCheckUtils]: 42: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:13,876 INFO L290 TraceCheckUtils]: 41: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:13,876 INFO L290 TraceCheckUtils]: 40: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:13,876 INFO L272 TraceCheckUtils]: 39: Hoare triple {5064#(= (+ (* (+ 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)); {4829#true} is VALID [2022-04-15 14:44:13,877 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4829#true} {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #76#return; {5064#(= (+ (* (+ 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-15 14:44:13,877 INFO L290 TraceCheckUtils]: 37: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:13,877 INFO L290 TraceCheckUtils]: 36: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:13,877 INFO L290 TraceCheckUtils]: 35: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:13,877 INFO L272 TraceCheckUtils]: 34: Hoare triple {5064#(= (+ (* (+ 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)); {4829#true} is VALID [2022-04-15 14:44:13,878 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4829#true} {5064#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #74#return; {5064#(= (+ (* (+ 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-15 14:44:13,878 INFO L290 TraceCheckUtils]: 32: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:13,878 INFO L290 TraceCheckUtils]: 31: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:13,878 INFO L290 TraceCheckUtils]: 30: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:13,878 INFO L272 TraceCheckUtils]: 29: Hoare triple {5064#(= (+ (* (+ 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)); {4829#true} is VALID [2022-04-15 14:44:13,878 INFO L290 TraceCheckUtils]: 28: Hoare triple {5064#(= (+ (* (+ 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; {5064#(= (+ (* (+ 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-15 14:44:13,879 INFO L290 TraceCheckUtils]: 27: Hoare triple {4829#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5064#(= (+ (* (+ 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-15 14:44:13,879 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4829#true} {4829#true} #72#return; {4829#true} is VALID [2022-04-15 14:44:13,879 INFO L290 TraceCheckUtils]: 25: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:13,879 INFO L290 TraceCheckUtils]: 24: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:13,879 INFO L290 TraceCheckUtils]: 23: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:13,879 INFO L272 TraceCheckUtils]: 22: Hoare triple {4829#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4829#true} is VALID [2022-04-15 14:44:13,879 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4829#true} {4829#true} #70#return; {4829#true} is VALID [2022-04-15 14:44:13,879 INFO L290 TraceCheckUtils]: 20: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:13,879 INFO L290 TraceCheckUtils]: 19: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:13,879 INFO L290 TraceCheckUtils]: 18: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:13,879 INFO L272 TraceCheckUtils]: 17: Hoare triple {4829#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4829#true} is VALID [2022-04-15 14:44:13,879 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4829#true} {4829#true} #68#return; {4829#true} is VALID [2022-04-15 14:44:13,879 INFO L290 TraceCheckUtils]: 15: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:13,879 INFO L290 TraceCheckUtils]: 14: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:13,880 INFO L290 TraceCheckUtils]: 13: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:13,880 INFO L272 TraceCheckUtils]: 12: Hoare triple {4829#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4829#true} is VALID [2022-04-15 14:44:13,880 INFO L290 TraceCheckUtils]: 11: Hoare triple {4829#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4829#true} is VALID [2022-04-15 14:44:13,880 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4829#true} {4829#true} #66#return; {4829#true} is VALID [2022-04-15 14:44:13,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:13,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {4829#true} assume !(0 == ~cond); {4829#true} is VALID [2022-04-15 14:44:13,880 INFO L290 TraceCheckUtils]: 7: Hoare triple {4829#true} ~cond := #in~cond; {4829#true} is VALID [2022-04-15 14:44:13,880 INFO L272 TraceCheckUtils]: 6: Hoare triple {4829#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4829#true} is VALID [2022-04-15 14:44:13,880 INFO L290 TraceCheckUtils]: 5: Hoare triple {4829#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; {4829#true} is VALID [2022-04-15 14:44:13,880 INFO L272 TraceCheckUtils]: 4: Hoare triple {4829#true} call #t~ret6 := main(); {4829#true} is VALID [2022-04-15 14:44:13,880 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4829#true} {4829#true} #88#return; {4829#true} is VALID [2022-04-15 14:44:13,880 INFO L290 TraceCheckUtils]: 2: Hoare triple {4829#true} assume true; {4829#true} is VALID [2022-04-15 14:44:13,880 INFO L290 TraceCheckUtils]: 1: Hoare triple {4829#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); {4829#true} is VALID [2022-04-15 14:44:13,880 INFO L272 TraceCheckUtils]: 0: Hoare triple {4829#true} call ULTIMATE.init(); {4829#true} is VALID [2022-04-15 14:44:13,880 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-15 14:44:13,881 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:44:13,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [677739328] [2022-04-15 14:44:13,881 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:44:13,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [208132924] [2022-04-15 14:44:13,881 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [208132924] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:44:13,881 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:44:13,881 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-15 14:44:13,881 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:44:13,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1593179382] [2022-04-15 14:44:13,881 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1593179382] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:13,881 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:13,881 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 14:44:13,881 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1608373604] [2022-04-15 14:44:13,882 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:44:13,882 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-15 14:44:13,882 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:44:13,882 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-15 14:44:13,919 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:44:13,919 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 14:44:13,920 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:13,920 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 14:44:13,920 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-15 14:44:13,920 INFO L87 Difference]: Start difference. First operand 112 states and 138 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-15 14:44:14,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:14,412 INFO L93 Difference]: Finished difference Result 137 states and 178 transitions. [2022-04-15 14:44:14,412 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 14:44:14,413 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-15 14:44:14,413 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:44:14,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-15 14:44:14,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-15 14:44:14,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-15 14:44:14,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-15 14:44:14,417 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-15 14:44:14,505 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:44:14,508 INFO L225 Difference]: With dead ends: 137 [2022-04-15 14:44:14,508 INFO L226 Difference]: Without dead ends: 131 [2022-04-15 14:44:14,509 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:44:14,509 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 120 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 14:44:14,510 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 160 Invalid, 120 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 14:44:14,510 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-15 14:44:14,558 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-15 14:44:14,558 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:44:14,559 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-15 14:44:14,559 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-15 14:44:14,559 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-15 14:44:14,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:14,564 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-15 14:44:14,564 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-15 14:44:14,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:14,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:14,565 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-15 14:44:14,565 INFO L87 Difference]: Start difference. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-15 14:44:14,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:14,569 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-15 14:44:14,569 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-15 14:44:14,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:14,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:14,570 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:44:14,570 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:44:14,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-15 14:44:14,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 167 transitions. [2022-04-15 14:44:14,574 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 167 transitions. Word has length 61 [2022-04-15 14:44:14,575 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:44:14,575 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 167 transitions. [2022-04-15 14:44:14,575 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-15 14:44:14,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 167 transitions. [2022-04-15 14:44:14,768 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:44:14,768 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-15 14:44:14,768 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-15 14:44:14,769 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:44:14,769 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:44:14,786 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-15 14:44:14,971 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 14:44:14,972 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:44:14,972 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:44:14,972 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 1 times [2022-04-15 14:44:14,972 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:14,972 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [142055164] [2022-04-15 14:44:14,972 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:44:14,972 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 2 times [2022-04-15 14:44:14,973 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:44:14,973 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1094950727] [2022-04-15 14:44:14,973 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:44:14,973 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:44:15,003 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:44:15,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1458317958] [2022-04-15 14:44:15,004 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:44:15,004 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:15,004 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:44:15,010 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:44:15,038 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 14:44:15,067 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:44:15,068 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:44:15,069 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-15 14:44:15,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:15,082 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:44:15,453 INFO L272 TraceCheckUtils]: 0: Hoare triple {6002#true} call ULTIMATE.init(); {6002#true} is VALID [2022-04-15 14:44:15,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {6002#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); {6002#true} is VALID [2022-04-15 14:44:15,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,453 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6002#true} {6002#true} #88#return; {6002#true} is VALID [2022-04-15 14:44:15,453 INFO L272 TraceCheckUtils]: 4: Hoare triple {6002#true} call #t~ret6 := main(); {6002#true} is VALID [2022-04-15 14:44:15,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {6002#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; {6002#true} is VALID [2022-04-15 14:44:15,453 INFO L272 TraceCheckUtils]: 6: Hoare triple {6002#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {6002#true} is VALID [2022-04-15 14:44:15,453 INFO L290 TraceCheckUtils]: 7: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,453 INFO L290 TraceCheckUtils]: 8: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L290 TraceCheckUtils]: 9: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6002#true} {6002#true} #66#return; {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L290 TraceCheckUtils]: 11: Hoare triple {6002#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L272 TraceCheckUtils]: 12: Hoare triple {6002#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L290 TraceCheckUtils]: 13: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L290 TraceCheckUtils]: 14: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L290 TraceCheckUtils]: 15: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6002#true} {6002#true} #68#return; {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L272 TraceCheckUtils]: 17: Hoare triple {6002#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L290 TraceCheckUtils]: 18: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L290 TraceCheckUtils]: 19: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L290 TraceCheckUtils]: 20: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6002#true} {6002#true} #70#return; {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L272 TraceCheckUtils]: 22: Hoare triple {6002#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L290 TraceCheckUtils]: 23: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L290 TraceCheckUtils]: 24: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L290 TraceCheckUtils]: 25: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,454 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6002#true} {6002#true} #72#return; {6002#true} is VALID [2022-04-15 14:44:15,455 INFO L290 TraceCheckUtils]: 27: Hoare triple {6002#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:15,455 INFO L290 TraceCheckUtils]: 28: Hoare triple {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:15,455 INFO L272 TraceCheckUtils]: 29: Hoare triple {6088#(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)); {6002#true} is VALID [2022-04-15 14:44:15,456 INFO L290 TraceCheckUtils]: 30: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,456 INFO L290 TraceCheckUtils]: 31: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,456 INFO L290 TraceCheckUtils]: 32: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,457 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6002#true} {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:15,457 INFO L272 TraceCheckUtils]: 34: Hoare triple {6088#(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)); {6002#true} is VALID [2022-04-15 14:44:15,457 INFO L290 TraceCheckUtils]: 35: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,457 INFO L290 TraceCheckUtils]: 36: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,457 INFO L290 TraceCheckUtils]: 37: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,458 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6002#true} {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:15,458 INFO L272 TraceCheckUtils]: 39: Hoare triple {6088#(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)); {6002#true} is VALID [2022-04-15 14:44:15,458 INFO L290 TraceCheckUtils]: 40: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,458 INFO L290 TraceCheckUtils]: 41: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,458 INFO L290 TraceCheckUtils]: 42: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,459 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6002#true} {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:15,459 INFO L290 TraceCheckUtils]: 44: Hoare triple {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {6088#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:15,460 INFO L290 TraceCheckUtils]: 45: Hoare triple {6088#(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; {6143#(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-15 14:44:15,460 INFO L290 TraceCheckUtils]: 46: Hoare triple {6143#(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; {6143#(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-15 14:44:15,460 INFO L272 TraceCheckUtils]: 47: Hoare triple {6143#(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)); {6002#true} is VALID [2022-04-15 14:44:15,460 INFO L290 TraceCheckUtils]: 48: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,460 INFO L290 TraceCheckUtils]: 49: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,460 INFO L290 TraceCheckUtils]: 50: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,461 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6002#true} {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #74#return; {6143#(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-15 14:44:15,461 INFO L272 TraceCheckUtils]: 52: Hoare triple {6143#(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)); {6002#true} is VALID [2022-04-15 14:44:15,461 INFO L290 TraceCheckUtils]: 53: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,461 INFO L290 TraceCheckUtils]: 54: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,461 INFO L290 TraceCheckUtils]: 55: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,462 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6002#true} {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #76#return; {6143#(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-15 14:44:15,462 INFO L272 TraceCheckUtils]: 57: Hoare triple {6143#(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)); {6002#true} is VALID [2022-04-15 14:44:15,462 INFO L290 TraceCheckUtils]: 58: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,462 INFO L290 TraceCheckUtils]: 59: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,462 INFO L290 TraceCheckUtils]: 60: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,462 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6002#true} {6143#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #78#return; {6143#(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-15 14:44:15,463 INFO L290 TraceCheckUtils]: 62: Hoare triple {6143#(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); {6143#(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-15 14:44:15,463 INFO L290 TraceCheckUtils]: 63: Hoare triple {6143#(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; {6198#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:44:15,464 INFO L290 TraceCheckUtils]: 64: Hoare triple {6198#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {6198#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:44:15,464 INFO L272 TraceCheckUtils]: 65: Hoare triple {6198#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:44:15,465 INFO L290 TraceCheckUtils]: 66: Hoare triple {6205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:15,465 INFO L290 TraceCheckUtils]: 67: Hoare triple {6209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6003#false} is VALID [2022-04-15 14:44:15,465 INFO L290 TraceCheckUtils]: 68: Hoare triple {6003#false} assume !false; {6003#false} is VALID [2022-04-15 14:44:15,465 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-15 14:44:15,465 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:44:15,735 INFO L290 TraceCheckUtils]: 68: Hoare triple {6003#false} assume !false; {6003#false} is VALID [2022-04-15 14:44:15,735 INFO L290 TraceCheckUtils]: 67: Hoare triple {6209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6003#false} is VALID [2022-04-15 14:44:15,736 INFO L290 TraceCheckUtils]: 66: Hoare triple {6205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:15,736 INFO L272 TraceCheckUtils]: 65: Hoare triple {6225#(= (* 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)); {6205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:44:15,737 INFO L290 TraceCheckUtils]: 64: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:15,739 INFO L290 TraceCheckUtils]: 63: Hoare triple {6225#(= (* 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; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:15,740 INFO L290 TraceCheckUtils]: 62: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:15,740 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #78#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:15,740 INFO L290 TraceCheckUtils]: 60: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,740 INFO L290 TraceCheckUtils]: 59: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,740 INFO L290 TraceCheckUtils]: 58: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,740 INFO L272 TraceCheckUtils]: 57: Hoare triple {6225#(= (* 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)); {6002#true} is VALID [2022-04-15 14:44:15,741 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #76#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:15,741 INFO L290 TraceCheckUtils]: 55: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,741 INFO L290 TraceCheckUtils]: 54: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,741 INFO L290 TraceCheckUtils]: 53: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,741 INFO L272 TraceCheckUtils]: 52: Hoare triple {6225#(= (* 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)); {6002#true} is VALID [2022-04-15 14:44:15,742 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #74#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:15,742 INFO L290 TraceCheckUtils]: 50: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,742 INFO L290 TraceCheckUtils]: 49: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,742 INFO L290 TraceCheckUtils]: 48: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,742 INFO L272 TraceCheckUtils]: 47: Hoare triple {6225#(= (* 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)); {6002#true} is VALID [2022-04-15 14:44:15,742 INFO L290 TraceCheckUtils]: 46: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:15,745 INFO L290 TraceCheckUtils]: 45: Hoare triple {6225#(= (* 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; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:15,745 INFO L290 TraceCheckUtils]: 44: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:15,746 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #78#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:15,746 INFO L290 TraceCheckUtils]: 42: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,746 INFO L290 TraceCheckUtils]: 41: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,746 INFO L290 TraceCheckUtils]: 40: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,746 INFO L272 TraceCheckUtils]: 39: Hoare triple {6225#(= (* 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)); {6002#true} is VALID [2022-04-15 14:44:15,748 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #76#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:15,748 INFO L290 TraceCheckUtils]: 37: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,748 INFO L290 TraceCheckUtils]: 36: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,748 INFO L290 TraceCheckUtils]: 35: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,748 INFO L272 TraceCheckUtils]: 34: Hoare triple {6225#(= (* 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)); {6002#true} is VALID [2022-04-15 14:44:15,749 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6002#true} {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #74#return; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:15,749 INFO L290 TraceCheckUtils]: 32: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,749 INFO L290 TraceCheckUtils]: 31: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,749 INFO L290 TraceCheckUtils]: 30: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,749 INFO L272 TraceCheckUtils]: 29: Hoare triple {6225#(= (* 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)); {6002#true} is VALID [2022-04-15 14:44:15,750 INFO L290 TraceCheckUtils]: 28: Hoare triple {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:15,750 INFO L290 TraceCheckUtils]: 27: Hoare triple {6002#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6225#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 14:44:15,750 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6002#true} {6002#true} #72#return; {6002#true} is VALID [2022-04-15 14:44:15,750 INFO L290 TraceCheckUtils]: 25: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,750 INFO L290 TraceCheckUtils]: 24: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,751 INFO L290 TraceCheckUtils]: 23: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,751 INFO L272 TraceCheckUtils]: 22: Hoare triple {6002#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6002#true} is VALID [2022-04-15 14:44:15,751 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6002#true} {6002#true} #70#return; {6002#true} is VALID [2022-04-15 14:44:15,751 INFO L290 TraceCheckUtils]: 20: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,751 INFO L290 TraceCheckUtils]: 19: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,751 INFO L290 TraceCheckUtils]: 18: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,751 INFO L272 TraceCheckUtils]: 17: Hoare triple {6002#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6002#true} is VALID [2022-04-15 14:44:15,751 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6002#true} {6002#true} #68#return; {6002#true} is VALID [2022-04-15 14:44:15,751 INFO L290 TraceCheckUtils]: 15: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,751 INFO L290 TraceCheckUtils]: 14: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,751 INFO L290 TraceCheckUtils]: 13: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,751 INFO L272 TraceCheckUtils]: 12: Hoare triple {6002#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {6002#true} is VALID [2022-04-15 14:44:15,752 INFO L290 TraceCheckUtils]: 11: Hoare triple {6002#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6002#true} is VALID [2022-04-15 14:44:15,752 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6002#true} {6002#true} #66#return; {6002#true} is VALID [2022-04-15 14:44:15,752 INFO L290 TraceCheckUtils]: 9: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,752 INFO L290 TraceCheckUtils]: 8: Hoare triple {6002#true} assume !(0 == ~cond); {6002#true} is VALID [2022-04-15 14:44:15,752 INFO L290 TraceCheckUtils]: 7: Hoare triple {6002#true} ~cond := #in~cond; {6002#true} is VALID [2022-04-15 14:44:15,752 INFO L272 TraceCheckUtils]: 6: Hoare triple {6002#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {6002#true} is VALID [2022-04-15 14:44:15,752 INFO L290 TraceCheckUtils]: 5: Hoare triple {6002#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; {6002#true} is VALID [2022-04-15 14:44:15,752 INFO L272 TraceCheckUtils]: 4: Hoare triple {6002#true} call #t~ret6 := main(); {6002#true} is VALID [2022-04-15 14:44:15,752 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6002#true} {6002#true} #88#return; {6002#true} is VALID [2022-04-15 14:44:15,752 INFO L290 TraceCheckUtils]: 2: Hoare triple {6002#true} assume true; {6002#true} is VALID [2022-04-15 14:44:15,752 INFO L290 TraceCheckUtils]: 1: Hoare triple {6002#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); {6002#true} is VALID [2022-04-15 14:44:15,752 INFO L272 TraceCheckUtils]: 0: Hoare triple {6002#true} call ULTIMATE.init(); {6002#true} is VALID [2022-04-15 14:44:15,753 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 94 trivial. 0 not checked. [2022-04-15 14:44:15,753 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:44:15,753 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1094950727] [2022-04-15 14:44:15,753 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:44:15,753 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1458317958] [2022-04-15 14:44:15,753 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1458317958] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 14:44:15,753 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 14:44:15,753 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-15 14:44:15,754 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:44:15,754 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [142055164] [2022-04-15 14:44:15,754 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [142055164] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:15,754 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:15,754 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:44:15,754 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [150698322] [2022-04-15 14:44:15,754 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:44:15,755 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 69 [2022-04-15 14:44:15,755 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:44:15,755 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:44:15,786 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:44:15,786 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:44:15,786 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:15,787 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:44:15,787 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-15 14:44:15,787 INFO L87 Difference]: Start difference. First operand 131 states and 167 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:44:16,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:16,035 INFO L93 Difference]: Finished difference Result 137 states and 172 transitions. [2022-04-15 14:44:16,035 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:44:16,035 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 69 [2022-04-15 14:44:16,036 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:44:16,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:44:16,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-15 14:44:16,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:44:16,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-15 14:44:16,039 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-15 14:44:16,084 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-15 14:44:16,088 INFO L225 Difference]: With dead ends: 137 [2022-04-15 14:44:16,088 INFO L226 Difference]: Without dead ends: 132 [2022-04-15 14:44:16,089 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 128 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:44:16,090 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 6 mSDsluCounter, 80 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:44:16,091 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 116 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:44:16,092 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-15 14:44:16,156 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-15 14:44:16,156 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:44:16,157 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 14:44:16,157 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 14:44:16,157 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 14:44:16,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:16,161 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-15 14:44:16,161 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-15 14:44:16,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:16,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:16,162 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 132 states. [2022-04-15 14:44:16,163 INFO L87 Difference]: Start difference. First operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 132 states. [2022-04-15 14:44:16,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:16,180 INFO L93 Difference]: Finished difference Result 132 states and 164 transitions. [2022-04-15 14:44:16,181 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-15 14:44:16,181 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:16,181 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:16,181 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:44:16,181 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:44:16,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 76 states have (on average 1.1578947368421053) internal successors, (88), 79 states have internal predecessors, (88), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 14:44:16,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 164 transitions. [2022-04-15 14:44:16,188 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 164 transitions. Word has length 69 [2022-04-15 14:44:16,188 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:44:16,188 INFO L478 AbstractCegarLoop]: Abstraction has 132 states and 164 transitions. [2022-04-15 14:44:16,188 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-15 14:44:16,188 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 164 transitions. [2022-04-15 14:44:16,407 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:44:16,407 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 164 transitions. [2022-04-15 14:44:16,408 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-15 14:44:16,408 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:44:16,408 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:44:16,425 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-15 14:44:16,612 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 14:44:16,612 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:44:16,612 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:44:16,613 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 5 times [2022-04-15 14:44:16,613 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:16,613 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [280436625] [2022-04-15 14:44:16,613 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:44:16,613 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 6 times [2022-04-15 14:44:16,613 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:44:16,613 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1887240878] [2022-04-15 14:44:16,613 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:44:16,613 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:44:16,631 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:44:16,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [230320411] [2022-04-15 14:44:16,631 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 14:44:16,631 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:16,632 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:44:16,638 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:44:16,657 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-15 14:44:16,713 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 14:44:16,713 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:44:16,715 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-15 14:44:16,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:16,734 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:44:17,277 INFO L272 TraceCheckUtils]: 0: Hoare triple {7227#true} call ULTIMATE.init(); {7227#true} is VALID [2022-04-15 14:44:17,277 INFO L290 TraceCheckUtils]: 1: Hoare triple {7227#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); {7227#true} is VALID [2022-04-15 14:44:17,277 INFO L290 TraceCheckUtils]: 2: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:44:17,278 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7227#true} {7227#true} #88#return; {7227#true} is VALID [2022-04-15 14:44:17,278 INFO L272 TraceCheckUtils]: 4: Hoare triple {7227#true} call #t~ret6 := main(); {7227#true} is VALID [2022-04-15 14:44:17,278 INFO L290 TraceCheckUtils]: 5: Hoare triple {7227#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; {7227#true} is VALID [2022-04-15 14:44:17,278 INFO L272 TraceCheckUtils]: 6: Hoare triple {7227#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {7227#true} is VALID [2022-04-15 14:44:17,278 INFO L290 TraceCheckUtils]: 7: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:44:17,278 INFO L290 TraceCheckUtils]: 8: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:44:17,278 INFO L290 TraceCheckUtils]: 9: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:44:17,278 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7227#true} {7227#true} #66#return; {7227#true} is VALID [2022-04-15 14:44:17,278 INFO L290 TraceCheckUtils]: 11: Hoare triple {7227#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7227#true} is VALID [2022-04-15 14:44:17,278 INFO L272 TraceCheckUtils]: 12: Hoare triple {7227#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {7227#true} is VALID [2022-04-15 14:44:17,279 INFO L290 TraceCheckUtils]: 13: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:44:17,279 INFO L290 TraceCheckUtils]: 14: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:44:17,279 INFO L290 TraceCheckUtils]: 15: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:44:17,279 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7227#true} {7227#true} #68#return; {7227#true} is VALID [2022-04-15 14:44:17,279 INFO L272 TraceCheckUtils]: 17: Hoare triple {7227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7227#true} is VALID [2022-04-15 14:44:17,279 INFO L290 TraceCheckUtils]: 18: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:44:17,279 INFO L290 TraceCheckUtils]: 19: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:44:17,279 INFO L290 TraceCheckUtils]: 20: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:44:17,279 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7227#true} {7227#true} #70#return; {7227#true} is VALID [2022-04-15 14:44:17,279 INFO L272 TraceCheckUtils]: 22: Hoare triple {7227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7227#true} is VALID [2022-04-15 14:44:17,279 INFO L290 TraceCheckUtils]: 23: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:44:17,279 INFO L290 TraceCheckUtils]: 24: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:44:17,280 INFO L290 TraceCheckUtils]: 25: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:44:17,280 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7227#true} {7227#true} #72#return; {7227#true} is VALID [2022-04-15 14:44:17,280 INFO L290 TraceCheckUtils]: 27: Hoare triple {7227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:17,281 INFO L290 TraceCheckUtils]: 28: Hoare triple {7313#(and (= 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; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:17,281 INFO L272 TraceCheckUtils]: 29: Hoare triple {7313#(and (= 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)); {7227#true} is VALID [2022-04-15 14:44:17,281 INFO L290 TraceCheckUtils]: 30: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:44:17,281 INFO L290 TraceCheckUtils]: 31: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:44:17,281 INFO L290 TraceCheckUtils]: 32: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:44:17,282 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7227#true} {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:17,282 INFO L272 TraceCheckUtils]: 34: Hoare triple {7313#(and (= 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)); {7227#true} is VALID [2022-04-15 14:44:17,282 INFO L290 TraceCheckUtils]: 35: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:44:17,282 INFO L290 TraceCheckUtils]: 36: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:44:17,283 INFO L290 TraceCheckUtils]: 37: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:44:17,283 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7227#true} {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:17,284 INFO L272 TraceCheckUtils]: 39: Hoare triple {7313#(and (= 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)); {7227#true} is VALID [2022-04-15 14:44:17,284 INFO L290 TraceCheckUtils]: 40: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:44:17,284 INFO L290 TraceCheckUtils]: 41: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:44:17,284 INFO L290 TraceCheckUtils]: 42: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:44:17,285 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7227#true} {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:17,285 INFO L290 TraceCheckUtils]: 44: Hoare triple {7313#(and (= 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); {7313#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:17,286 INFO L290 TraceCheckUtils]: 45: Hoare triple {7313#(and (= 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; {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:17,286 INFO L290 TraceCheckUtils]: 46: Hoare triple {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:17,286 INFO L272 TraceCheckUtils]: 47: Hoare triple {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= 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)); {7227#true} is VALID [2022-04-15 14:44:17,287 INFO L290 TraceCheckUtils]: 48: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:44:17,287 INFO L290 TraceCheckUtils]: 49: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:44:17,287 INFO L290 TraceCheckUtils]: 50: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:44:17,288 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7227#true} {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #74#return; {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:17,288 INFO L272 TraceCheckUtils]: 52: Hoare triple {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= 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)); {7227#true} is VALID [2022-04-15 14:44:17,288 INFO L290 TraceCheckUtils]: 53: Hoare triple {7227#true} ~cond := #in~cond; {7393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:17,288 INFO L290 TraceCheckUtils]: 54: Hoare triple {7393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:17,289 INFO L290 TraceCheckUtils]: 55: Hoare triple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:17,290 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #76#return; {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:17,290 INFO L272 TraceCheckUtils]: 57: Hoare triple {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= 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)); {7227#true} is VALID [2022-04-15 14:44:17,290 INFO L290 TraceCheckUtils]: 58: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:44:17,290 INFO L290 TraceCheckUtils]: 59: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:44:17,290 INFO L290 TraceCheckUtils]: 60: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:44:17,291 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7227#true} {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #78#return; {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:17,291 INFO L290 TraceCheckUtils]: 62: Hoare triple {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 14:44:17,292 INFO L290 TraceCheckUtils]: 63: Hoare triple {7368#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (= 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; {7425#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-15 14:44:17,293 INFO L290 TraceCheckUtils]: 64: Hoare triple {7425#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !false; {7425#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-15 14:44:17,293 INFO L272 TraceCheckUtils]: 65: Hoare triple {7425#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~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)); {7227#true} is VALID [2022-04-15 14:44:17,294 INFO L290 TraceCheckUtils]: 66: Hoare triple {7227#true} ~cond := #in~cond; {7393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:17,294 INFO L290 TraceCheckUtils]: 67: Hoare triple {7393#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:17,294 INFO L290 TraceCheckUtils]: 68: Hoare triple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:44:17,295 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} {7425#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #74#return; {7444#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:44:17,296 INFO L272 TraceCheckUtils]: 70: Hoare triple {7444#(and (= (- 1) (+ main_~r~0 1)) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7448#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:44:17,297 INFO L290 TraceCheckUtils]: 71: Hoare triple {7448#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7452#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:17,297 INFO L290 TraceCheckUtils]: 72: Hoare triple {7452#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7228#false} is VALID [2022-04-15 14:44:17,297 INFO L290 TraceCheckUtils]: 73: Hoare triple {7228#false} assume !false; {7228#false} is VALID [2022-04-15 14:44:17,297 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 39 proven. 17 refuted. 0 times theorem prover too weak. 78 trivial. 0 not checked. [2022-04-15 14:44:17,298 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:46:33,233 INFO L290 TraceCheckUtils]: 73: Hoare triple {7228#false} assume !false; {7228#false} is VALID [2022-04-15 14:46:33,233 INFO L290 TraceCheckUtils]: 72: Hoare triple {7452#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7228#false} is VALID [2022-04-15 14:46:33,234 INFO L290 TraceCheckUtils]: 71: Hoare triple {7448#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7452#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:46:33,234 INFO L272 TraceCheckUtils]: 70: Hoare triple {7468#(= 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)); {7448#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:46:33,235 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} {7472#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #74#return; {7468#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:46:33,235 INFO L290 TraceCheckUtils]: 68: Hoare triple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:33,236 INFO L290 TraceCheckUtils]: 67: Hoare triple {7482#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:33,236 INFO L290 TraceCheckUtils]: 66: Hoare triple {7227#true} ~cond := #in~cond; {7482#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:46:33,236 INFO L272 TraceCheckUtils]: 65: Hoare triple {7472#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= 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)); {7227#true} is VALID [2022-04-15 14:46:33,237 INFO L290 TraceCheckUtils]: 64: Hoare triple {7472#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {7472#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 14:46:33,949 INFO L290 TraceCheckUtils]: 63: Hoare triple {7492#(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_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) 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; {7472#(or (not (= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-15 14:46:33,950 INFO L290 TraceCheckUtils]: 62: Hoare triple {7492#(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_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} assume !!(~a~0 != ~b~0); {7492#(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_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-15 14:46:33,950 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7227#true} {7492#(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_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} #78#return; {7492#(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_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-15 14:46:33,950 INFO L290 TraceCheckUtils]: 60: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:46:33,950 INFO L290 TraceCheckUtils]: 59: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:46:33,950 INFO L290 TraceCheckUtils]: 58: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:46:33,951 INFO L272 TraceCheckUtils]: 57: Hoare triple {7492#(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_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7227#true} is VALID [2022-04-15 14:46:33,951 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} {7514#(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)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} #76#return; {7492#(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_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-15 14:46:33,952 INFO L290 TraceCheckUtils]: 55: Hoare triple {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:33,952 INFO L290 TraceCheckUtils]: 54: Hoare triple {7482#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7397#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:46:33,952 INFO L290 TraceCheckUtils]: 53: Hoare triple {7227#true} ~cond := #in~cond; {7482#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:46:33,952 INFO L272 TraceCheckUtils]: 52: Hoare triple {7514#(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)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7227#true} is VALID [2022-04-15 14:46:33,953 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7227#true} {7514#(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)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} #74#return; {7514#(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)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-15 14:46:33,953 INFO L290 TraceCheckUtils]: 50: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:46:33,953 INFO L290 TraceCheckUtils]: 49: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:46:33,953 INFO L290 TraceCheckUtils]: 48: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:46:33,953 INFO L272 TraceCheckUtils]: 47: Hoare triple {7514#(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)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7227#true} is VALID [2022-04-15 14:46:33,954 INFO L290 TraceCheckUtils]: 46: Hoare triple {7514#(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)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} assume !false; {7514#(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)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is VALID [2022-04-15 14:46:35,956 WARN L290 TraceCheckUtils]: 45: Hoare triple {7548#(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 (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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; {7514#(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)))) (not (= (* main_~s~0 (+ main_~p~0 (* (- 1) main_~q~0))) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~q~0) 1))))} is UNKNOWN [2022-04-15 14:46:35,957 INFO L290 TraceCheckUtils]: 44: Hoare triple {7548#(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 (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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); {7548#(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 (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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-15 14:46:35,962 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7227#true} {7548#(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 (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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)))))))} #78#return; {7548#(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 (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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-15 14:46:35,962 INFO L290 TraceCheckUtils]: 42: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:46:35,962 INFO L290 TraceCheckUtils]: 41: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:46:35,962 INFO L290 TraceCheckUtils]: 40: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:46:35,962 INFO L272 TraceCheckUtils]: 39: Hoare triple {7548#(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 (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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)); {7227#true} is VALID [2022-04-15 14:46:35,963 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7227#true} {7548#(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 (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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)))))))} #76#return; {7548#(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 (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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-15 14:46:35,963 INFO L290 TraceCheckUtils]: 37: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:46:35,963 INFO L290 TraceCheckUtils]: 36: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:46:35,963 INFO L290 TraceCheckUtils]: 35: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:46:35,963 INFO L272 TraceCheckUtils]: 34: Hoare triple {7548#(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 (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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)); {7227#true} is VALID [2022-04-15 14:46:35,964 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7227#true} {7548#(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 (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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)))))))} #74#return; {7548#(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 (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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-15 14:46:35,964 INFO L290 TraceCheckUtils]: 32: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:46:35,964 INFO L290 TraceCheckUtils]: 31: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:46:35,964 INFO L290 TraceCheckUtils]: 30: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:46:35,964 INFO L272 TraceCheckUtils]: 29: Hoare triple {7548#(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 (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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)); {7227#true} is VALID [2022-04-15 14:46:35,965 INFO L290 TraceCheckUtils]: 28: Hoare triple {7548#(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 (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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; {7548#(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 (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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-15 14:46:35,965 INFO L290 TraceCheckUtils]: 27: Hoare triple {7227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7548#(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 (= (+ (* (+ (* (- 2) main_~s~0) main_~r~0) main_~q~0) 1) (* main_~s~0 (+ main_~p~0 (* (- 2) 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-15 14:46:35,966 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7227#true} {7227#true} #72#return; {7227#true} is VALID [2022-04-15 14:46:35,966 INFO L290 TraceCheckUtils]: 25: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:46:35,966 INFO L290 TraceCheckUtils]: 24: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:46:35,966 INFO L290 TraceCheckUtils]: 23: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:46:35,966 INFO L272 TraceCheckUtils]: 22: Hoare triple {7227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7227#true} is VALID [2022-04-15 14:46:35,966 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7227#true} {7227#true} #70#return; {7227#true} is VALID [2022-04-15 14:46:35,966 INFO L290 TraceCheckUtils]: 20: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:46:35,966 INFO L290 TraceCheckUtils]: 19: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:46:35,966 INFO L290 TraceCheckUtils]: 18: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:46:35,966 INFO L272 TraceCheckUtils]: 17: Hoare triple {7227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7227#true} is VALID [2022-04-15 14:46:35,966 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7227#true} {7227#true} #68#return; {7227#true} is VALID [2022-04-15 14:46:35,966 INFO L290 TraceCheckUtils]: 15: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:46:35,966 INFO L290 TraceCheckUtils]: 14: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:46:35,966 INFO L290 TraceCheckUtils]: 13: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:46:35,966 INFO L272 TraceCheckUtils]: 12: Hoare triple {7227#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {7227#true} is VALID [2022-04-15 14:46:35,966 INFO L290 TraceCheckUtils]: 11: Hoare triple {7227#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7227#true} is VALID [2022-04-15 14:46:35,966 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7227#true} {7227#true} #66#return; {7227#true} is VALID [2022-04-15 14:46:35,967 INFO L290 TraceCheckUtils]: 9: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:46:35,967 INFO L290 TraceCheckUtils]: 8: Hoare triple {7227#true} assume !(0 == ~cond); {7227#true} is VALID [2022-04-15 14:46:35,967 INFO L290 TraceCheckUtils]: 7: Hoare triple {7227#true} ~cond := #in~cond; {7227#true} is VALID [2022-04-15 14:46:35,967 INFO L272 TraceCheckUtils]: 6: Hoare triple {7227#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {7227#true} is VALID [2022-04-15 14:46:35,967 INFO L290 TraceCheckUtils]: 5: Hoare triple {7227#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; {7227#true} is VALID [2022-04-15 14:46:35,967 INFO L272 TraceCheckUtils]: 4: Hoare triple {7227#true} call #t~ret6 := main(); {7227#true} is VALID [2022-04-15 14:46:35,967 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7227#true} {7227#true} #88#return; {7227#true} is VALID [2022-04-15 14:46:35,967 INFO L290 TraceCheckUtils]: 2: Hoare triple {7227#true} assume true; {7227#true} is VALID [2022-04-15 14:46:35,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {7227#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); {7227#true} is VALID [2022-04-15 14:46:35,967 INFO L272 TraceCheckUtils]: 0: Hoare triple {7227#true} call ULTIMATE.init(); {7227#true} is VALID [2022-04-15 14:46:35,968 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 42 proven. 14 refuted. 0 times theorem prover too weak. 78 trivial. 0 not checked. [2022-04-15 14:46:35,968 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:46:35,968 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1887240878] [2022-04-15 14:46:35,968 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:46:35,968 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [230320411] [2022-04-15 14:46:35,968 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [230320411] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:46:35,969 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:46:35,969 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 16 [2022-04-15 14:46:35,969 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:46:35,969 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [280436625] [2022-04-15 14:46:35,969 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [280436625] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:46:35,969 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:46:35,969 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 14:46:35,969 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1160737122] [2022-04-15 14:46:35,970 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:46:35,970 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-15 14:46:35,970 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:46:35,970 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:46:36,080 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:46:36,081 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 14:46:36,081 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:46:36,081 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 14:46:36,081 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-15 14:46:36,082 INFO L87 Difference]: Start difference. First operand 132 states and 164 transitions. Second operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:46:37,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:37,514 INFO L93 Difference]: Finished difference Result 166 states and 206 transitions. [2022-04-15 14:46:37,514 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 14:46:37,515 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-15 14:46:37,515 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:46:37,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:46:37,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2022-04-15 14:46:37,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:46:37,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 95 transitions. [2022-04-15 14:46:37,519 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 95 transitions. [2022-04-15 14:46:37,644 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:46:37,648 INFO L225 Difference]: With dead ends: 166 [2022-04-15 14:46:37,648 INFO L226 Difference]: Without dead ends: 164 [2022-04-15 14:46:37,648 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 131 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=67, Invalid=239, Unknown=0, NotChecked=0, Total=306 [2022-04-15 14:46:37,649 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 18 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 385 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 403 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 385 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-15 14:46:37,649 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 184 Invalid, 403 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 385 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-15 14:46:37,649 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-15 14:46:37,725 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 150. [2022-04-15 14:46:37,725 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:46:37,725 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-15 14:46:37,726 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-15 14:46:37,726 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-15 14:46:37,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:37,731 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-15 14:46:37,731 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-15 14:46:37,732 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:46:37,732 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:46:37,732 INFO L74 IsIncluded]: Start isIncluded. First operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) Second operand 164 states. [2022-04-15 14:46:37,733 INFO L87 Difference]: Start difference. First operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) Second operand 164 states. [2022-04-15 14:46:37,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:46:37,737 INFO L93 Difference]: Finished difference Result 164 states and 204 transitions. [2022-04-15 14:46:37,737 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 204 transitions. [2022-04-15 14:46:37,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:46:37,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:46:37,738 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:46:37,738 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:46:37,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 150 states, 88 states have (on average 1.1477272727272727) internal successors, (101), 91 states have internal predecessors, (101), 42 states have call successors, (42), 20 states have call predecessors, (42), 19 states have return successors, (40), 38 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-15 14:46:37,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 183 transitions. [2022-04-15 14:46:37,743 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 183 transitions. Word has length 74 [2022-04-15 14:46:37,743 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:46:37,743 INFO L478 AbstractCegarLoop]: Abstraction has 150 states and 183 transitions. [2022-04-15 14:46:37,744 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:46:37,744 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 150 states and 183 transitions. [2022-04-15 14:46:37,997 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:46:37,997 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 183 transitions. [2022-04-15 14:46:37,998 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-15 14:46:37,998 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:46:37,998 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:46:38,017 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-15 14:46:38,198 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 14:46:38,199 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:46:38,199 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:46:38,199 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 3 times [2022-04-15 14:46:38,199 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:46:38,199 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1918301527] [2022-04-15 14:46:38,199 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:46:38,200 INFO L85 PathProgramCache]: Analyzing trace with hash -1712511605, now seen corresponding path program 4 times [2022-04-15 14:46:38,200 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:46:38,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [984796008] [2022-04-15 14:46:38,200 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:46:38,200 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:46:38,213 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:46:38,213 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1317995744] [2022-04-15 14:46:38,213 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:46:38,213 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:46:38,214 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:46:38,218 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:46:38,220 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-15 14:46:38,275 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:46:38,276 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:46:38,277 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 14:46:38,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:46:38,295 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:47:08,885 INFO L272 TraceCheckUtils]: 0: Hoare triple {8650#true} call ULTIMATE.init(); {8650#true} is VALID [2022-04-15 14:47:08,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {8650#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); {8650#true} is VALID [2022-04-15 14:47:08,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8650#true} {8650#true} #88#return; {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L272 TraceCheckUtils]: 4: Hoare triple {8650#true} call #t~ret6 := main(); {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L290 TraceCheckUtils]: 5: Hoare triple {8650#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; {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L272 TraceCheckUtils]: 6: Hoare triple {8650#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L290 TraceCheckUtils]: 7: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L290 TraceCheckUtils]: 8: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L290 TraceCheckUtils]: 9: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8650#true} {8650#true} #66#return; {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L290 TraceCheckUtils]: 11: Hoare triple {8650#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L272 TraceCheckUtils]: 12: Hoare triple {8650#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L290 TraceCheckUtils]: 13: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L290 TraceCheckUtils]: 14: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L290 TraceCheckUtils]: 15: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8650#true} {8650#true} #68#return; {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L272 TraceCheckUtils]: 17: Hoare triple {8650#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L290 TraceCheckUtils]: 18: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 14:47:08,886 INFO L290 TraceCheckUtils]: 19: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 14:47:08,887 INFO L290 TraceCheckUtils]: 20: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 14:47:08,887 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8650#true} {8650#true} #70#return; {8650#true} is VALID [2022-04-15 14:47:08,887 INFO L272 TraceCheckUtils]: 22: Hoare triple {8650#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8650#true} is VALID [2022-04-15 14:47:08,887 INFO L290 TraceCheckUtils]: 23: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 14:47:08,887 INFO L290 TraceCheckUtils]: 24: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 14:47:08,887 INFO L290 TraceCheckUtils]: 25: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 14:47:08,887 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8650#true} {8650#true} #72#return; {8650#true} is VALID [2022-04-15 14:47:08,888 INFO L290 TraceCheckUtils]: 27: Hoare triple {8650#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8736#(and (= 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-15 14:47:08,888 INFO L290 TraceCheckUtils]: 28: Hoare triple {8736#(and (= 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; {8736#(and (= 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-15 14:47:08,889 INFO L272 TraceCheckUtils]: 29: Hoare triple {8736#(and (= 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)); {8650#true} is VALID [2022-04-15 14:47:08,889 INFO L290 TraceCheckUtils]: 30: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 14:47:08,889 INFO L290 TraceCheckUtils]: 31: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 14:47:08,889 INFO L290 TraceCheckUtils]: 32: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 14:47:08,890 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8650#true} {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {8736#(and (= 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-15 14:47:08,890 INFO L272 TraceCheckUtils]: 34: Hoare triple {8736#(and (= 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)); {8650#true} is VALID [2022-04-15 14:47:08,890 INFO L290 TraceCheckUtils]: 35: Hoare triple {8650#true} ~cond := #in~cond; {8761#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:47:08,891 INFO L290 TraceCheckUtils]: 36: Hoare triple {8761#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:08,891 INFO L290 TraceCheckUtils]: 37: Hoare triple {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:08,892 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {8736#(and (= 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-15 14:47:08,892 INFO L272 TraceCheckUtils]: 39: Hoare triple {8736#(and (= 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)); {8650#true} is VALID [2022-04-15 14:47:08,892 INFO L290 TraceCheckUtils]: 40: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 14:47:08,893 INFO L290 TraceCheckUtils]: 41: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 14:47:08,893 INFO L290 TraceCheckUtils]: 42: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 14:47:08,893 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8650#true} {8736#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {8736#(and (= 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-15 14:47:08,894 INFO L290 TraceCheckUtils]: 44: Hoare triple {8736#(and (= 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); {8790#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:08,895 INFO L290 TraceCheckUtils]: 45: Hoare triple {8790#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:08,896 INFO L290 TraceCheckUtils]: 46: Hoare triple {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:08,896 INFO L272 TraceCheckUtils]: 47: Hoare triple {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8650#true} is VALID [2022-04-15 14:47:08,896 INFO L290 TraceCheckUtils]: 48: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 14:47:08,896 INFO L290 TraceCheckUtils]: 49: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 14:47:08,896 INFO L290 TraceCheckUtils]: 50: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 14:47:08,897 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8650#true} {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #74#return; {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:08,897 INFO L272 TraceCheckUtils]: 52: Hoare triple {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8650#true} is VALID [2022-04-15 14:47:08,897 INFO L290 TraceCheckUtils]: 53: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 14:47:08,897 INFO L290 TraceCheckUtils]: 54: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 14:47:08,897 INFO L290 TraceCheckUtils]: 55: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 14:47:08,897 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8650#true} {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #76#return; {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:08,898 INFO L272 TraceCheckUtils]: 57: Hoare triple {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8650#true} is VALID [2022-04-15 14:47:08,898 INFO L290 TraceCheckUtils]: 58: Hoare triple {8650#true} ~cond := #in~cond; {8761#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:47:08,898 INFO L290 TraceCheckUtils]: 59: Hoare triple {8761#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:08,898 INFO L290 TraceCheckUtils]: 60: Hoare triple {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:47:08,899 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8765#(not (= |__VERIFIER_assert_#in~cond| 0))} {8794#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #78#return; {8843#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:08,900 INFO L290 TraceCheckUtils]: 62: Hoare triple {8843#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8843#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 14:47:08,902 INFO L290 TraceCheckUtils]: 63: Hoare triple {8843#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:47:08,903 INFO L290 TraceCheckUtils]: 64: Hoare triple {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} assume !false; {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:47:08,903 INFO L272 TraceCheckUtils]: 65: Hoare triple {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8650#true} is VALID [2022-04-15 14:47:08,903 INFO L290 TraceCheckUtils]: 66: Hoare triple {8650#true} ~cond := #in~cond; {8650#true} is VALID [2022-04-15 14:47:08,904 INFO L290 TraceCheckUtils]: 67: Hoare triple {8650#true} assume !(0 == ~cond); {8650#true} is VALID [2022-04-15 14:47:08,904 INFO L290 TraceCheckUtils]: 68: Hoare triple {8650#true} assume true; {8650#true} is VALID [2022-04-15 14:47:08,905 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8650#true} {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} #74#return; {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 14:47:08,906 INFO L272 TraceCheckUtils]: 70: Hoare triple {8850#(and (= (+ 2 (* (- 1) main_~p~0)) 0) (not (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 2)) (* (- 2) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0)) (not (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~y~0)) (= (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~y~0) main_~x~0) (< (* main_~x~0 2) (+ main_~y~0 (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8872#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:47:08,906 INFO L290 TraceCheckUtils]: 71: Hoare triple {8872#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8876#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:47:08,907 INFO L290 TraceCheckUtils]: 72: Hoare triple {8876#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8651#false} is VALID [2022-04-15 14:47:08,907 INFO L290 TraceCheckUtils]: 73: Hoare triple {8651#false} assume !false; {8651#false} is VALID [2022-04-15 14:47:08,907 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 27 proven. 29 refuted. 0 times theorem prover too weak. 78 trivial. 0 not checked. [2022-04-15 14:47:08,907 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:47:38,310 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 14:48:50,630 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:48:50,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [984796008] [2022-04-15 14:48:50,631 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:48:50,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1317995744] [2022-04-15 14:48:50,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1317995744] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 14:48:50,631 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 14:48:50,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-15 14:48:50,631 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:48:50,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1918301527] [2022-04-15 14:48:50,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1918301527] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:48:50,631 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:48:50,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 14:48:50,631 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [820080434] [2022-04-15 14:48:50,631 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:48:50,632 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-15 14:48:50,632 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:48:50,632 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:48:50,675 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:48:50,675 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 14:48:50,675 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:48:50,676 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 14:48:50,676 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=209, Unknown=0, NotChecked=0, Total=272 [2022-04-15 14:48:50,676 INFO L87 Difference]: Start difference. First operand 150 states and 183 transitions. Second operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:48:53,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:48:53,766 INFO L93 Difference]: Finished difference Result 184 states and 225 transitions. [2022-04-15 14:48:53,766 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 14:48:53,767 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) Word has length 74 [2022-04-15 14:48:53,767 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:48:53,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:48:53,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 85 transitions. [2022-04-15 14:48:53,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:48:53,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 85 transitions. [2022-04-15 14:48:53,770 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 85 transitions. [2022-04-15 14:48:53,895 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:48:53,899 INFO L225 Difference]: With dead ends: 184 [2022-04-15 14:48:53,899 INFO L226 Difference]: Without dead ends: 182 [2022-04-15 14:48:53,900 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 88 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=76, Invalid=266, Unknown=0, NotChecked=0, Total=342 [2022-04-15 14:48:53,900 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 14 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 420 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 220 SdHoareTripleChecker+Invalid, 426 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 420 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-04-15 14:48:53,900 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 220 Invalid, 426 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 420 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-15 14:48:53,901 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-15 14:48:54,006 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 168. [2022-04-15 14:48:54,006 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:48:54,007 INFO L82 GeneralOperation]: Start isEquivalent. First operand 182 states. Second operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-15 14:48:54,007 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-15 14:48:54,007 INFO L87 Difference]: Start difference. First operand 182 states. Second operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-15 14:48:54,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:48:54,012 INFO L93 Difference]: Finished difference Result 182 states and 223 transitions. [2022-04-15 14:48:54,012 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 223 transitions. [2022-04-15 14:48:54,012 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:48:54,013 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:48:54,013 INFO L74 IsIncluded]: Start isIncluded. First operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) Second operand 182 states. [2022-04-15 14:48:54,013 INFO L87 Difference]: Start difference. First operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) Second operand 182 states. [2022-04-15 14:48:54,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:48:54,017 INFO L93 Difference]: Finished difference Result 182 states and 223 transitions. [2022-04-15 14:48:54,017 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 223 transitions. [2022-04-15 14:48:54,018 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:48:54,018 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:48:54,018 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:48:54,018 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:48:54,019 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 168 states, 100 states have (on average 1.14) internal successors, (114), 103 states have internal predecessors, (114), 45 states have call successors, (45), 23 states have call predecessors, (45), 22 states have return successors, (43), 41 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-15 14:48:54,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 168 states to 168 states and 202 transitions. [2022-04-15 14:48:54,023 INFO L78 Accepts]: Start accepts. Automaton has 168 states and 202 transitions. Word has length 74 [2022-04-15 14:48:54,023 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:48:54,023 INFO L478 AbstractCegarLoop]: Abstraction has 168 states and 202 transitions. [2022-04-15 14:48:54,023 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:48:54,023 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 168 states and 202 transitions. [2022-04-15 14:48:54,290 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 202 edges. 202 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:48:54,290 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 202 transitions. [2022-04-15 14:48:54,291 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-15 14:48:54,291 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:48:54,291 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:48:54,308 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-15 14:48:54,497 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-15 14:48:54,498 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:48:54,498 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:48:54,498 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 5 times [2022-04-15 14:48:54,498 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:48:54,498 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [933094689] [2022-04-15 14:48:54,499 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:48:54,499 INFO L85 PathProgramCache]: Analyzing trace with hash 15858924, now seen corresponding path program 6 times [2022-04-15 14:48:54,499 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:48:54,499 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [311550934] [2022-04-15 14:48:54,499 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:48:54,499 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:48:54,536 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:48:54,536 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1870000890] [2022-04-15 14:48:54,536 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 14:48:54,537 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:48:54,537 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:48:54,540 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:48:54,542 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-15 14:48:54,603 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 14:48:54,603 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:48:54,604 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-15 14:48:54,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:48:54,625 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:48:54,912 INFO L272 TraceCheckUtils]: 0: Hoare triple {10053#true} call ULTIMATE.init(); {10053#true} is VALID [2022-04-15 14:48:54,913 INFO L290 TraceCheckUtils]: 1: Hoare triple {10053#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); {10053#true} is VALID [2022-04-15 14:48:54,913 INFO L290 TraceCheckUtils]: 2: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:48:54,913 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10053#true} {10053#true} #88#return; {10053#true} is VALID [2022-04-15 14:48:54,913 INFO L272 TraceCheckUtils]: 4: Hoare triple {10053#true} call #t~ret6 := main(); {10053#true} is VALID [2022-04-15 14:48:54,913 INFO L290 TraceCheckUtils]: 5: Hoare triple {10053#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; {10053#true} is VALID [2022-04-15 14:48:54,913 INFO L272 TraceCheckUtils]: 6: Hoare triple {10053#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:48:54,913 INFO L290 TraceCheckUtils]: 7: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:48:54,913 INFO L290 TraceCheckUtils]: 8: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:48:54,913 INFO L290 TraceCheckUtils]: 9: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:48:54,913 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10053#true} {10053#true} #66#return; {10053#true} is VALID [2022-04-15 14:48:54,913 INFO L290 TraceCheckUtils]: 11: Hoare triple {10053#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10053#true} is VALID [2022-04-15 14:48:54,913 INFO L272 TraceCheckUtils]: 12: Hoare triple {10053#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:48:54,913 INFO L290 TraceCheckUtils]: 13: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:48:54,913 INFO L290 TraceCheckUtils]: 14: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:48:54,913 INFO L290 TraceCheckUtils]: 15: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:48:54,914 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10053#true} {10053#true} #68#return; {10053#true} is VALID [2022-04-15 14:48:54,914 INFO L272 TraceCheckUtils]: 17: Hoare triple {10053#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:48:54,914 INFO L290 TraceCheckUtils]: 18: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:48:54,914 INFO L290 TraceCheckUtils]: 19: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:48:54,914 INFO L290 TraceCheckUtils]: 20: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:48:54,914 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10053#true} {10053#true} #70#return; {10053#true} is VALID [2022-04-15 14:48:54,914 INFO L272 TraceCheckUtils]: 22: Hoare triple {10053#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:48:54,914 INFO L290 TraceCheckUtils]: 23: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:48:54,914 INFO L290 TraceCheckUtils]: 24: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:48:54,914 INFO L290 TraceCheckUtils]: 25: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:48:54,914 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10053#true} {10053#true} #72#return; {10053#true} is VALID [2022-04-15 14:48:54,915 INFO L290 TraceCheckUtils]: 27: Hoare triple {10053#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:48:54,916 INFO L290 TraceCheckUtils]: 28: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:48:54,916 INFO L272 TraceCheckUtils]: 29: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:48:54,916 INFO L290 TraceCheckUtils]: 30: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:48:54,916 INFO L290 TraceCheckUtils]: 31: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:48:54,916 INFO L290 TraceCheckUtils]: 32: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:48:54,917 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10053#true} {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:48:54,917 INFO L272 TraceCheckUtils]: 34: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:48:54,917 INFO L290 TraceCheckUtils]: 35: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:48:54,917 INFO L290 TraceCheckUtils]: 36: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:48:54,917 INFO L290 TraceCheckUtils]: 37: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:48:54,918 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10053#true} {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:48:54,918 INFO L272 TraceCheckUtils]: 39: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:48:54,918 INFO L290 TraceCheckUtils]: 40: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:48:54,918 INFO L290 TraceCheckUtils]: 41: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:48:54,918 INFO L290 TraceCheckUtils]: 42: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:48:54,919 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {10053#true} {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #78#return; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:48:54,919 INFO L290 TraceCheckUtils]: 44: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:48:54,920 INFO L290 TraceCheckUtils]: 45: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:48:54,920 INFO L290 TraceCheckUtils]: 46: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:48:54,920 INFO L272 TraceCheckUtils]: 47: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:48:54,921 INFO L290 TraceCheckUtils]: 48: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:48:54,921 INFO L290 TraceCheckUtils]: 49: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:48:54,921 INFO L290 TraceCheckUtils]: 50: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:48:54,921 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10053#true} {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #74#return; {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:48:54,922 INFO L272 TraceCheckUtils]: 52: Hoare triple {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:48:54,922 INFO L290 TraceCheckUtils]: 53: Hoare triple {10053#true} ~cond := #in~cond; {10218#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:48:54,922 INFO L290 TraceCheckUtils]: 54: Hoare triple {10218#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:48:54,923 INFO L290 TraceCheckUtils]: 55: Hoare triple {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:48:54,923 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} {10139#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #76#return; {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:48:54,924 INFO L272 TraceCheckUtils]: 57: Hoare triple {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:48:54,924 INFO L290 TraceCheckUtils]: 58: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:48:54,924 INFO L290 TraceCheckUtils]: 59: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:48:54,924 INFO L290 TraceCheckUtils]: 60: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:48:54,925 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10053#true} {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #78#return; {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:48:54,925 INFO L290 TraceCheckUtils]: 62: Hoare triple {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:48:54,943 INFO L290 TraceCheckUtils]: 63: Hoare triple {10229#(and (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:48:54,943 INFO L290 TraceCheckUtils]: 64: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:48:54,944 INFO L272 TraceCheckUtils]: 65: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:48:54,944 INFO L290 TraceCheckUtils]: 66: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:48:54,944 INFO L290 TraceCheckUtils]: 67: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:48:54,944 INFO L290 TraceCheckUtils]: 68: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:48:54,945 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:48:54,945 INFO L272 TraceCheckUtils]: 70: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:48:54,945 INFO L290 TraceCheckUtils]: 71: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:48:54,945 INFO L290 TraceCheckUtils]: 72: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:48:54,945 INFO L290 TraceCheckUtils]: 73: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:48:54,946 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:48:54,946 INFO L272 TraceCheckUtils]: 75: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10288#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:48:54,947 INFO L290 TraceCheckUtils]: 76: Hoare triple {10288#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10292#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:48:54,947 INFO L290 TraceCheckUtils]: 77: Hoare triple {10292#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10054#false} is VALID [2022-04-15 14:48:54,947 INFO L290 TraceCheckUtils]: 78: Hoare triple {10054#false} assume !false; {10054#false} is VALID [2022-04-15 14:48:54,948 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 30 proven. 18 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-15 14:48:54,948 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:49:07,495 INFO L290 TraceCheckUtils]: 78: Hoare triple {10054#false} assume !false; {10054#false} is VALID [2022-04-15 14:49:07,495 INFO L290 TraceCheckUtils]: 77: Hoare triple {10292#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10054#false} is VALID [2022-04-15 14:49:07,496 INFO L290 TraceCheckUtils]: 76: Hoare triple {10288#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10292#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:49:07,497 INFO L272 TraceCheckUtils]: 75: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10288#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:49:07,498 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:49:07,498 INFO L290 TraceCheckUtils]: 73: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:49:07,498 INFO L290 TraceCheckUtils]: 72: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:49:07,498 INFO L290 TraceCheckUtils]: 71: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:49:07,498 INFO L272 TraceCheckUtils]: 70: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:49:07,499 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:49:07,499 INFO L290 TraceCheckUtils]: 68: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:49:07,499 INFO L290 TraceCheckUtils]: 67: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:49:07,499 INFO L290 TraceCheckUtils]: 66: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:49:07,499 INFO L272 TraceCheckUtils]: 65: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:49:07,500 INFO L290 TraceCheckUtils]: 64: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:49:07,667 INFO L290 TraceCheckUtils]: 63: Hoare triple {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:49:07,668 INFO L290 TraceCheckUtils]: 62: Hoare triple {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} assume !!(~a~0 != ~b~0); {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} is VALID [2022-04-15 14:49:07,669 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10053#true} {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} #78#return; {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} is VALID [2022-04-15 14:49:07,669 INFO L290 TraceCheckUtils]: 60: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:49:07,669 INFO L290 TraceCheckUtils]: 59: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:49:07,669 INFO L290 TraceCheckUtils]: 58: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:49:07,669 INFO L272 TraceCheckUtils]: 57: Hoare triple {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:49:07,670 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10344#(= (+ main_~a~0 main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))) (* (+ main_~r~0 (* (- 1) main_~s~0) 1) main_~y~0)))} is VALID [2022-04-15 14:49:07,670 INFO L290 TraceCheckUtils]: 55: Hoare triple {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:49:07,671 INFO L290 TraceCheckUtils]: 54: Hoare triple {10375#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10222#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:49:07,671 INFO L290 TraceCheckUtils]: 53: Hoare triple {10053#true} ~cond := #in~cond; {10375#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:49:07,671 INFO L272 TraceCheckUtils]: 52: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:49:07,672 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:49:07,672 INFO L290 TraceCheckUtils]: 50: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:49:07,672 INFO L290 TraceCheckUtils]: 49: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:49:07,672 INFO L290 TraceCheckUtils]: 48: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:49:07,672 INFO L272 TraceCheckUtils]: 47: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:49:07,672 INFO L290 TraceCheckUtils]: 46: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:49:07,673 INFO L290 TraceCheckUtils]: 45: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:49:07,673 INFO L290 TraceCheckUtils]: 44: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !!(~a~0 != ~b~0); {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:49:07,674 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #78#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:49:07,674 INFO L290 TraceCheckUtils]: 42: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:49:07,674 INFO L290 TraceCheckUtils]: 41: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:49:07,674 INFO L290 TraceCheckUtils]: 40: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:49:07,674 INFO L272 TraceCheckUtils]: 39: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:49:07,674 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #76#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:49:07,674 INFO L290 TraceCheckUtils]: 37: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:49:07,674 INFO L290 TraceCheckUtils]: 36: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:49:07,675 INFO L290 TraceCheckUtils]: 35: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:49:07,675 INFO L272 TraceCheckUtils]: 34: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:49:07,675 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10053#true} {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} #74#return; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:49:07,675 INFO L290 TraceCheckUtils]: 32: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:49:07,675 INFO L290 TraceCheckUtils]: 31: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:49:07,675 INFO L290 TraceCheckUtils]: 30: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:49:07,675 INFO L272 TraceCheckUtils]: 29: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:49:07,676 INFO L290 TraceCheckUtils]: 28: Hoare triple {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} assume !false; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:49:07,676 INFO L290 TraceCheckUtils]: 27: Hoare triple {10053#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10251#(= (+ main_~y~0 (* (- 1) main_~b~0)) (+ (* main_~x~0 (* (- 1) main_~q~0)) (* main_~y~0 (+ (* (- 1) main_~s~0) 1))))} is VALID [2022-04-15 14:49:07,676 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10053#true} {10053#true} #72#return; {10053#true} is VALID [2022-04-15 14:49:07,676 INFO L290 TraceCheckUtils]: 25: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:49:07,676 INFO L290 TraceCheckUtils]: 24: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:49:07,676 INFO L290 TraceCheckUtils]: 23: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:49:07,676 INFO L272 TraceCheckUtils]: 22: Hoare triple {10053#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:49:07,676 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10053#true} {10053#true} #70#return; {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L290 TraceCheckUtils]: 20: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L290 TraceCheckUtils]: 19: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L290 TraceCheckUtils]: 18: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L272 TraceCheckUtils]: 17: Hoare triple {10053#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10053#true} {10053#true} #68#return; {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L290 TraceCheckUtils]: 15: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L290 TraceCheckUtils]: 14: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L290 TraceCheckUtils]: 13: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L272 TraceCheckUtils]: 12: Hoare triple {10053#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L290 TraceCheckUtils]: 11: Hoare triple {10053#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10053#true} {10053#true} #66#return; {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L290 TraceCheckUtils]: 9: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L290 TraceCheckUtils]: 8: Hoare triple {10053#true} assume !(0 == ~cond); {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L290 TraceCheckUtils]: 7: Hoare triple {10053#true} ~cond := #in~cond; {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L272 TraceCheckUtils]: 6: Hoare triple {10053#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L290 TraceCheckUtils]: 5: Hoare triple {10053#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; {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L272 TraceCheckUtils]: 4: Hoare triple {10053#true} call #t~ret6 := main(); {10053#true} is VALID [2022-04-15 14:49:07,677 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10053#true} {10053#true} #88#return; {10053#true} is VALID [2022-04-15 14:49:07,678 INFO L290 TraceCheckUtils]: 2: Hoare triple {10053#true} assume true; {10053#true} is VALID [2022-04-15 14:49:07,678 INFO L290 TraceCheckUtils]: 1: Hoare triple {10053#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); {10053#true} is VALID [2022-04-15 14:49:07,678 INFO L272 TraceCheckUtils]: 0: Hoare triple {10053#true} call ULTIMATE.init(); {10053#true} is VALID [2022-04-15 14:49:07,678 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 27 proven. 14 refuted. 0 times theorem prover too weak. 125 trivial. 0 not checked. [2022-04-15 14:49:07,678 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:49:07,678 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [311550934] [2022-04-15 14:49:07,678 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:49:07,678 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1870000890] [2022-04-15 14:49:07,678 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1870000890] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:49:07,678 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:49:07,678 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-15 14:49:07,679 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:49:07,679 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [933094689] [2022-04-15 14:49:07,679 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [933094689] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:49:07,679 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:49:07,679 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 14:49:07,679 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2090912738] [2022-04-15 14:49:07,679 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:49:07,679 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 79 [2022-04-15 14:49:07,679 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:49:07,680 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:49:07,726 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:49:07,726 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 14:49:07,726 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:49:07,727 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 14:49:07,727 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-15 14:49:07,727 INFO L87 Difference]: Start difference. First operand 168 states and 202 transitions. Second operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:49:08,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:49:08,373 INFO L93 Difference]: Finished difference Result 182 states and 221 transitions. [2022-04-15 14:49:08,373 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 14:49:08,373 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 79 [2022-04-15 14:49:08,373 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:49:08,373 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:49:08,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-15 14:49:08,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:49:08,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-15 14:49:08,376 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 64 transitions. [2022-04-15 14:49:08,474 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:49:08,478 INFO L225 Difference]: With dead ends: 182 [2022-04-15 14:49:08,478 INFO L226 Difference]: Without dead ends: 169 [2022-04-15 14:49:08,478 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 159 GetRequests, 145 SyntacticMatches, 3 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=116, Unknown=0, NotChecked=0, Total=156 [2022-04-15 14:49:08,479 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 149 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 159 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 149 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 14:49:08,479 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 134 Invalid, 159 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 149 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 14:49:08,479 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 169 states. [2022-04-15 14:49:08,586 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 169 to 149. [2022-04-15 14:49:08,586 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:49:08,586 INFO L82 GeneralOperation]: Start isEquivalent. First operand 169 states. Second operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-15 14:49:08,587 INFO L74 IsIncluded]: Start isIncluded. First operand 169 states. Second operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-15 14:49:08,587 INFO L87 Difference]: Start difference. First operand 169 states. Second operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-15 14:49:08,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:49:08,591 INFO L93 Difference]: Finished difference Result 169 states and 200 transitions. [2022-04-15 14:49:08,591 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 200 transitions. [2022-04-15 14:49:08,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:49:08,592 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:49:08,592 INFO L74 IsIncluded]: Start isIncluded. First operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 169 states. [2022-04-15 14:49:08,592 INFO L87 Difference]: Start difference. First operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 169 states. [2022-04-15 14:49:08,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:49:08,596 INFO L93 Difference]: Finished difference Result 169 states and 200 transitions. [2022-04-15 14:49:08,596 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 200 transitions. [2022-04-15 14:49:08,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:49:08,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:49:08,596 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:49:08,597 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:49:08,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 149 states, 91 states have (on average 1.0879120879120878) internal successors, (99), 95 states have internal predecessors, (99), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-15 14:49:08,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 170 transitions. [2022-04-15 14:49:08,600 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 170 transitions. Word has length 79 [2022-04-15 14:49:08,600 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:49:08,600 INFO L478 AbstractCegarLoop]: Abstraction has 149 states and 170 transitions. [2022-04-15 14:49:08,601 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 14:49:08,601 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 149 states and 170 transitions. [2022-04-15 14:49:08,909 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 170 edges. 170 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:49:08,910 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 170 transitions. [2022-04-15 14:49:08,911 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-15 14:49:08,911 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:49:08,911 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:49:08,927 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-15 14:49:09,112 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-15 14:49:09,112 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:49:09,112 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:49:09,112 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 3 times [2022-04-15 14:49:09,112 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:49:09,113 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1878416839] [2022-04-15 14:49:09,113 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:49:09,113 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 4 times [2022-04-15 14:49:09,114 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:49:09,114 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [23736247] [2022-04-15 14:49:09,114 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:49:09,114 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:49:09,127 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:49:09,127 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2097580854] [2022-04-15 14:49:09,127 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:49:09,128 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:49:09,128 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:49:09,129 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:49:09,130 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-15 14:49:09,180 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:49:09,180 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:49:09,181 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-15 14:49:09,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:49:09,197 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:49:10,600 INFO L272 TraceCheckUtils]: 0: Hoare triple {11541#true} call ULTIMATE.init(); {11541#true} is VALID [2022-04-15 14:49:10,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {11541#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); {11541#true} is VALID [2022-04-15 14:49:10,601 INFO L290 TraceCheckUtils]: 2: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:10,601 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11541#true} {11541#true} #88#return; {11541#true} is VALID [2022-04-15 14:49:10,601 INFO L272 TraceCheckUtils]: 4: Hoare triple {11541#true} call #t~ret6 := main(); {11541#true} is VALID [2022-04-15 14:49:10,601 INFO L290 TraceCheckUtils]: 5: Hoare triple {11541#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; {11541#true} is VALID [2022-04-15 14:49:10,601 INFO L272 TraceCheckUtils]: 6: Hoare triple {11541#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {11541#true} is VALID [2022-04-15 14:49:10,601 INFO L290 TraceCheckUtils]: 7: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:10,601 INFO L290 TraceCheckUtils]: 8: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:10,601 INFO L290 TraceCheckUtils]: 9: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:10,601 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11541#true} {11541#true} #66#return; {11541#true} is VALID [2022-04-15 14:49:10,601 INFO L290 TraceCheckUtils]: 11: Hoare triple {11541#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11541#true} is VALID [2022-04-15 14:49:10,601 INFO L272 TraceCheckUtils]: 12: Hoare triple {11541#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {11541#true} is VALID [2022-04-15 14:49:10,602 INFO L290 TraceCheckUtils]: 13: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:10,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:10,602 INFO L290 TraceCheckUtils]: 15: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:10,602 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11541#true} {11541#true} #68#return; {11541#true} is VALID [2022-04-15 14:49:10,602 INFO L272 TraceCheckUtils]: 17: Hoare triple {11541#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11541#true} is VALID [2022-04-15 14:49:10,602 INFO L290 TraceCheckUtils]: 18: Hoare triple {11541#true} ~cond := #in~cond; {11600#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 14:49:10,603 INFO L290 TraceCheckUtils]: 19: Hoare triple {11600#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11604#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:49:10,603 INFO L290 TraceCheckUtils]: 20: Hoare triple {11604#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11604#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:49:10,604 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11604#(not (= |assume_abort_if_not_#in~cond| 0))} {11541#true} #70#return; {11611#(<= 1 main_~x~0)} is VALID [2022-04-15 14:49:10,604 INFO L272 TraceCheckUtils]: 22: Hoare triple {11611#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11541#true} is VALID [2022-04-15 14:49:10,604 INFO L290 TraceCheckUtils]: 23: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:10,604 INFO L290 TraceCheckUtils]: 24: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:10,604 INFO L290 TraceCheckUtils]: 25: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:10,604 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11541#true} {11611#(<= 1 main_~x~0)} #72#return; {11611#(<= 1 main_~x~0)} is VALID [2022-04-15 14:49:10,605 INFO L290 TraceCheckUtils]: 27: Hoare triple {11611#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:49:10,605 INFO L290 TraceCheckUtils]: 28: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:49:10,606 INFO L272 TraceCheckUtils]: 29: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11541#true} is VALID [2022-04-15 14:49:10,606 INFO L290 TraceCheckUtils]: 30: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:10,606 INFO L290 TraceCheckUtils]: 31: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:10,606 INFO L290 TraceCheckUtils]: 32: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:10,607 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11541#true} {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #74#return; {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:49:10,607 INFO L272 TraceCheckUtils]: 34: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11541#true} is VALID [2022-04-15 14:49:10,607 INFO L290 TraceCheckUtils]: 35: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:10,607 INFO L290 TraceCheckUtils]: 36: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:10,607 INFO L290 TraceCheckUtils]: 37: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:10,608 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11541#true} {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #76#return; {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:49:10,608 INFO L272 TraceCheckUtils]: 39: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11541#true} is VALID [2022-04-15 14:49:10,608 INFO L290 TraceCheckUtils]: 40: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:10,608 INFO L290 TraceCheckUtils]: 41: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:10,608 INFO L290 TraceCheckUtils]: 42: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:10,609 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11541#true} {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #78#return; {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:49:10,609 INFO L290 TraceCheckUtils]: 44: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:49:10,610 INFO L290 TraceCheckUtils]: 45: Hoare triple {11630#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 14:49:10,610 INFO L290 TraceCheckUtils]: 46: Hoare triple {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 14:49:10,611 INFO L272 TraceCheckUtils]: 47: Hoare triple {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~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)); {11541#true} is VALID [2022-04-15 14:49:10,611 INFO L290 TraceCheckUtils]: 48: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:10,611 INFO L290 TraceCheckUtils]: 49: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:10,611 INFO L290 TraceCheckUtils]: 50: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:10,612 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11541#true} {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} #74#return; {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 14:49:10,612 INFO L272 TraceCheckUtils]: 52: Hoare triple {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~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)); {11541#true} is VALID [2022-04-15 14:49:10,612 INFO L290 TraceCheckUtils]: 53: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:10,612 INFO L290 TraceCheckUtils]: 54: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:10,612 INFO L290 TraceCheckUtils]: 55: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:10,613 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11541#true} {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} #76#return; {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 14:49:10,613 INFO L272 TraceCheckUtils]: 57: Hoare triple {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~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)); {11541#true} is VALID [2022-04-15 14:49:10,613 INFO L290 TraceCheckUtils]: 58: Hoare triple {11541#true} ~cond := #in~cond; {11725#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:49:10,614 INFO L290 TraceCheckUtils]: 59: Hoare triple {11725#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:49:10,614 INFO L290 TraceCheckUtils]: 60: Hoare triple {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:49:10,615 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} {11685#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= 1 main_~x~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} #78#return; {11736#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 14:49:10,616 INFO L290 TraceCheckUtils]: 62: Hoare triple {11736#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !!(~a~0 != ~b~0); {11736#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-15 14:49:10,619 INFO L290 TraceCheckUtils]: 63: Hoare triple {11736#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (= main_~a~0 main_~x~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; {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} is VALID [2022-04-15 14:49:10,619 INFO L290 TraceCheckUtils]: 64: Hoare triple {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} assume !false; {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} is VALID [2022-04-15 14:49:10,619 INFO L272 TraceCheckUtils]: 65: Hoare triple {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11541#true} is VALID [2022-04-15 14:49:10,620 INFO L290 TraceCheckUtils]: 66: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:10,620 INFO L290 TraceCheckUtils]: 67: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:10,620 INFO L290 TraceCheckUtils]: 68: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:10,620 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11541#true} {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} #74#return; {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} is VALID [2022-04-15 14:49:10,621 INFO L272 TraceCheckUtils]: 70: Hoare triple {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11541#true} is VALID [2022-04-15 14:49:10,621 INFO L290 TraceCheckUtils]: 71: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:10,621 INFO L290 TraceCheckUtils]: 72: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:10,621 INFO L290 TraceCheckUtils]: 73: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:10,622 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11541#true} {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} #76#return; {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} is VALID [2022-04-15 14:49:10,625 INFO L272 TraceCheckUtils]: 75: Hoare triple {11743#(and (= (+ (* 2 (* (div (- main_~q~0) 2) (- 1) main_~x~0)) (* (- 1) main_~b~0) (* main_~y~0 2)) main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= (mod main_~q~0 2) 0) (= (+ main_~y~0 (* (- 1) main_~b~0) (* (div (- main_~q~0) 2) (- 1) main_~x~0)) main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11780#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:49:10,625 INFO L290 TraceCheckUtils]: 76: Hoare triple {11780#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11784#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:49:10,626 INFO L290 TraceCheckUtils]: 77: Hoare triple {11784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11542#false} is VALID [2022-04-15 14:49:10,626 INFO L290 TraceCheckUtils]: 78: Hoare triple {11542#false} assume !false; {11542#false} is VALID [2022-04-15 14:49:10,626 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 36 proven. 24 refuted. 0 times theorem prover too weak. 106 trivial. 0 not checked. [2022-04-15 14:49:10,626 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:49:44,604 INFO L290 TraceCheckUtils]: 78: Hoare triple {11542#false} assume !false; {11542#false} is VALID [2022-04-15 14:49:44,604 INFO L290 TraceCheckUtils]: 77: Hoare triple {11784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11542#false} is VALID [2022-04-15 14:49:44,605 INFO L290 TraceCheckUtils]: 76: Hoare triple {11780#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11784#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:49:44,613 INFO L272 TraceCheckUtils]: 75: Hoare triple {11800#(= 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)); {11780#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:49:44,614 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11541#true} {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:49:44,614 INFO L290 TraceCheckUtils]: 73: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:44,614 INFO L290 TraceCheckUtils]: 72: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:44,614 INFO L290 TraceCheckUtils]: 71: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:44,614 INFO L272 TraceCheckUtils]: 70: Hoare triple {11800#(= 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)); {11541#true} is VALID [2022-04-15 14:49:44,615 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11541#true} {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:49:44,615 INFO L290 TraceCheckUtils]: 68: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:44,615 INFO L290 TraceCheckUtils]: 67: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:44,615 INFO L290 TraceCheckUtils]: 66: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:44,615 INFO L272 TraceCheckUtils]: 65: Hoare triple {11800#(= 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)); {11541#true} is VALID [2022-04-15 14:49:44,615 INFO L290 TraceCheckUtils]: 64: Hoare triple {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:49:44,985 INFO L290 TraceCheckUtils]: 63: Hoare triple {11837#(= (+ (* (+ 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; {11800#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 14:49:44,985 INFO L290 TraceCheckUtils]: 62: Hoare triple {11837#(= (+ (* (+ 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); {11837#(= (+ (* (+ 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-15 14:49:44,986 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #78#return; {11837#(= (+ (* (+ 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-15 14:49:44,986 INFO L290 TraceCheckUtils]: 60: Hoare triple {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:49:44,987 INFO L290 TraceCheckUtils]: 59: Hoare triple {11854#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11729#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:49:44,987 INFO L290 TraceCheckUtils]: 58: Hoare triple {11541#true} ~cond := #in~cond; {11854#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:49:44,987 INFO L272 TraceCheckUtils]: 57: Hoare triple {11844#(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)); {11541#true} is VALID [2022-04-15 14:49:44,988 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11541#true} {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #76#return; {11844#(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-15 14:49:44,988 INFO L290 TraceCheckUtils]: 55: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:44,988 INFO L290 TraceCheckUtils]: 54: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:44,988 INFO L290 TraceCheckUtils]: 53: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:44,988 INFO L272 TraceCheckUtils]: 52: Hoare triple {11844#(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)); {11541#true} is VALID [2022-04-15 14:49:44,988 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11541#true} {11844#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #74#return; {11844#(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-15 14:49:44,989 INFO L290 TraceCheckUtils]: 50: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:44,989 INFO L290 TraceCheckUtils]: 49: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:44,989 INFO L290 TraceCheckUtils]: 48: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:44,989 INFO L272 TraceCheckUtils]: 47: Hoare triple {11844#(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)); {11541#true} is VALID [2022-04-15 14:49:44,989 INFO L290 TraceCheckUtils]: 46: Hoare triple {11844#(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; {11844#(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-15 14:49:46,255 INFO L290 TraceCheckUtils]: 45: Hoare triple {11894#(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; {11844#(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-15 14:49:46,255 INFO L290 TraceCheckUtils]: 44: Hoare triple {11894#(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); {11894#(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-15 14:49:46,256 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {11541#true} {11894#(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))))} #78#return; {11894#(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-15 14:49:46,256 INFO L290 TraceCheckUtils]: 42: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:46,256 INFO L290 TraceCheckUtils]: 41: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:46,256 INFO L290 TraceCheckUtils]: 40: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:46,256 INFO L272 TraceCheckUtils]: 39: Hoare triple {11894#(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)); {11541#true} is VALID [2022-04-15 14:49:46,257 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11541#true} {11894#(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))))} #76#return; {11894#(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-15 14:49:46,257 INFO L290 TraceCheckUtils]: 37: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:46,257 INFO L290 TraceCheckUtils]: 36: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:46,257 INFO L290 TraceCheckUtils]: 35: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:46,257 INFO L272 TraceCheckUtils]: 34: Hoare triple {11894#(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)); {11541#true} is VALID [2022-04-15 14:49:46,258 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11541#true} {11894#(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))))} #74#return; {11894#(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-15 14:49:46,258 INFO L290 TraceCheckUtils]: 32: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:46,258 INFO L290 TraceCheckUtils]: 31: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:46,258 INFO L290 TraceCheckUtils]: 30: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:46,258 INFO L272 TraceCheckUtils]: 29: Hoare triple {11894#(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)); {11541#true} is VALID [2022-04-15 14:49:46,259 INFO L290 TraceCheckUtils]: 28: Hoare triple {11894#(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; {11894#(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-15 14:49:46,259 INFO L290 TraceCheckUtils]: 27: Hoare triple {11541#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11894#(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-15 14:49:46,259 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11541#true} {11541#true} #72#return; {11541#true} is VALID [2022-04-15 14:49:46,259 INFO L290 TraceCheckUtils]: 25: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:46,259 INFO L290 TraceCheckUtils]: 24: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:46,259 INFO L290 TraceCheckUtils]: 23: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:46,259 INFO L272 TraceCheckUtils]: 22: Hoare triple {11541#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11541#true} is VALID [2022-04-15 14:49:46,259 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11541#true} {11541#true} #70#return; {11541#true} is VALID [2022-04-15 14:49:46,259 INFO L290 TraceCheckUtils]: 20: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L290 TraceCheckUtils]: 19: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L290 TraceCheckUtils]: 18: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L272 TraceCheckUtils]: 17: Hoare triple {11541#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11541#true} {11541#true} #68#return; {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L290 TraceCheckUtils]: 15: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L290 TraceCheckUtils]: 14: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L290 TraceCheckUtils]: 13: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L272 TraceCheckUtils]: 12: Hoare triple {11541#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L290 TraceCheckUtils]: 11: Hoare triple {11541#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11541#true} {11541#true} #66#return; {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L290 TraceCheckUtils]: 9: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L290 TraceCheckUtils]: 8: Hoare triple {11541#true} assume !(0 == ~cond); {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L290 TraceCheckUtils]: 7: Hoare triple {11541#true} ~cond := #in~cond; {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L272 TraceCheckUtils]: 6: Hoare triple {11541#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L290 TraceCheckUtils]: 5: Hoare triple {11541#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; {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L272 TraceCheckUtils]: 4: Hoare triple {11541#true} call #t~ret6 := main(); {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11541#true} {11541#true} #88#return; {11541#true} is VALID [2022-04-15 14:49:46,260 INFO L290 TraceCheckUtils]: 2: Hoare triple {11541#true} assume true; {11541#true} is VALID [2022-04-15 14:49:46,261 INFO L290 TraceCheckUtils]: 1: Hoare triple {11541#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); {11541#true} is VALID [2022-04-15 14:49:46,261 INFO L272 TraceCheckUtils]: 0: Hoare triple {11541#true} call ULTIMATE.init(); {11541#true} is VALID [2022-04-15 14:49:46,263 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 34 proven. 17 refuted. 0 times theorem prover too weak. 115 trivial. 0 not checked. [2022-04-15 14:49:46,263 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:49:46,263 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [23736247] [2022-04-15 14:49:46,263 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:49:46,264 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2097580854] [2022-04-15 14:49:46,264 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2097580854] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:49:46,264 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:49:46,264 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-15 14:49:46,265 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:49:46,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1878416839] [2022-04-15 14:49:46,265 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1878416839] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:49:46,265 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:49:46,265 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 14:49:46,265 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [244022017] [2022-04-15 14:49:46,265 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:49:46,266 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-15 14:49:46,266 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:49:46,266 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 14:49:46,317 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:49:46,317 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 14:49:46,317 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:49:46,317 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 14:49:46,317 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-04-15 14:49:46,318 INFO L87 Difference]: Start difference. First operand 149 states and 170 transitions. Second operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 14:49:48,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:49:48,410 INFO L93 Difference]: Finished difference Result 171 states and 198 transitions. [2022-04-15 14:49:48,410 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 14:49:48,410 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-15 14:49:48,410 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:49:48,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 14:49:48,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 69 transitions. [2022-04-15 14:49:48,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 14:49:48,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 69 transitions. [2022-04-15 14:49:48,413 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 69 transitions. [2022-04-15 14:49:48,492 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:49:48,505 INFO L225 Difference]: With dead ends: 171 [2022-04-15 14:49:48,505 INFO L226 Difference]: Without dead ends: 169 [2022-04-15 14:49:48,505 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 140 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 69 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-15 14:49:48,506 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 21 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 342 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 359 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 342 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 14:49:48,506 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 148 Invalid, 359 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 342 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 14:49:48,507 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 169 states. [2022-04-15 14:49:48,635 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 169 to 159. [2022-04-15 14:49:48,635 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:49:48,636 INFO L82 GeneralOperation]: Start isEquivalent. First operand 169 states. Second operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-15 14:49:48,636 INFO L74 IsIncluded]: Start isIncluded. First operand 169 states. Second operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-15 14:49:48,636 INFO L87 Difference]: Start difference. First operand 169 states. Second operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-15 14:49:48,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:49:48,640 INFO L93 Difference]: Finished difference Result 169 states and 196 transitions. [2022-04-15 14:49:48,640 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 196 transitions. [2022-04-15 14:49:48,641 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:49:48,641 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:49:48,641 INFO L74 IsIncluded]: Start isIncluded. First operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 169 states. [2022-04-15 14:49:48,642 INFO L87 Difference]: Start difference. First operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 169 states. [2022-04-15 14:49:48,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:49:48,645 INFO L93 Difference]: Finished difference Result 169 states and 196 transitions. [2022-04-15 14:49:48,645 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 196 transitions. [2022-04-15 14:49:48,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:49:48,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:49:48,646 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:49:48,646 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:49:48,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 159 states, 97 states have (on average 1.092783505154639) internal successors, (106), 101 states have internal predecessors, (106), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-15 14:49:48,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 159 states to 159 states and 183 transitions. [2022-04-15 14:49:48,650 INFO L78 Accepts]: Start accepts. Automaton has 159 states and 183 transitions. Word has length 79 [2022-04-15 14:49:48,651 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:49:48,651 INFO L478 AbstractCegarLoop]: Abstraction has 159 states and 183 transitions. [2022-04-15 14:49:48,651 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.076923076923077) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 14:49:48,651 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 159 states and 183 transitions. [2022-04-15 14:49:49,095 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:49:49,095 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 183 transitions. [2022-04-15 14:49:49,096 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-15 14:49:49,096 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:49:49,096 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:49:49,114 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-04-15 14:49:49,303 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-15 14:49:49,303 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:49:49,304 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:49:49,304 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 7 times [2022-04-15 14:49:49,304 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:49:49,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [395999057] [2022-04-15 14:49:49,304 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:49:49,304 INFO L85 PathProgramCache]: Analyzing trace with hash 1804875380, now seen corresponding path program 8 times [2022-04-15 14:49:49,304 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:49:49,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [726593618] [2022-04-15 14:49:49,305 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:49:49,305 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:49:49,319 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:49:49,319 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1405129105] [2022-04-15 14:49:49,320 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:49:49,320 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:49:49,320 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:49:49,321 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:49:49,324 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-15 14:49:49,380 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:49:49,381 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:49:49,382 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-15 14:49:49,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:49:49,407 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:54:05,392 INFO L272 TraceCheckUtils]: 0: Hoare triple {13036#true} call ULTIMATE.init(); {13036#true} is VALID [2022-04-15 14:54:05,392 INFO L290 TraceCheckUtils]: 1: Hoare triple {13036#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); {13036#true} is VALID [2022-04-15 14:54:05,392 INFO L290 TraceCheckUtils]: 2: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:05,392 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13036#true} {13036#true} #88#return; {13036#true} is VALID [2022-04-15 14:54:05,392 INFO L272 TraceCheckUtils]: 4: Hoare triple {13036#true} call #t~ret6 := main(); {13036#true} is VALID [2022-04-15 14:54:05,392 INFO L290 TraceCheckUtils]: 5: Hoare triple {13036#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; {13036#true} is VALID [2022-04-15 14:54:05,392 INFO L272 TraceCheckUtils]: 6: Hoare triple {13036#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:05,392 INFO L290 TraceCheckUtils]: 7: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:05,392 INFO L290 TraceCheckUtils]: 8: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:05,392 INFO L290 TraceCheckUtils]: 9: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:05,392 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13036#true} {13036#true} #66#return; {13036#true} is VALID [2022-04-15 14:54:05,392 INFO L290 TraceCheckUtils]: 11: Hoare triple {13036#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13036#true} is VALID [2022-04-15 14:54:05,393 INFO L272 TraceCheckUtils]: 12: Hoare triple {13036#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:05,393 INFO L290 TraceCheckUtils]: 13: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:05,393 INFO L290 TraceCheckUtils]: 14: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:05,393 INFO L290 TraceCheckUtils]: 15: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:05,393 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13036#true} {13036#true} #68#return; {13036#true} is VALID [2022-04-15 14:54:05,393 INFO L272 TraceCheckUtils]: 17: Hoare triple {13036#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:05,393 INFO L290 TraceCheckUtils]: 18: Hoare triple {13036#true} ~cond := #in~cond; {13095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 14:54:05,393 INFO L290 TraceCheckUtils]: 19: Hoare triple {13095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {13099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:54:05,394 INFO L290 TraceCheckUtils]: 20: Hoare triple {13099#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {13099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:54:05,394 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13099#(not (= |assume_abort_if_not_#in~cond| 0))} {13036#true} #70#return; {13106#(<= 1 main_~x~0)} is VALID [2022-04-15 14:54:05,394 INFO L272 TraceCheckUtils]: 22: Hoare triple {13106#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:05,394 INFO L290 TraceCheckUtils]: 23: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:05,394 INFO L290 TraceCheckUtils]: 24: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:05,394 INFO L290 TraceCheckUtils]: 25: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:05,395 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13036#true} {13106#(<= 1 main_~x~0)} #72#return; {13106#(<= 1 main_~x~0)} is VALID [2022-04-15 14:54:05,395 INFO L290 TraceCheckUtils]: 27: Hoare triple {13106#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:54:05,396 INFO L290 TraceCheckUtils]: 28: Hoare triple {13125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {13125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:54:05,396 INFO L272 TraceCheckUtils]: 29: Hoare triple {13125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= 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)); {13036#true} is VALID [2022-04-15 14:54:05,396 INFO L290 TraceCheckUtils]: 30: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:05,396 INFO L290 TraceCheckUtils]: 31: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:05,396 INFO L290 TraceCheckUtils]: 32: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:05,396 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13036#true} {13125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #74#return; {13125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:54:05,396 INFO L272 TraceCheckUtils]: 34: Hoare triple {13125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= 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)); {13036#true} is VALID [2022-04-15 14:54:05,397 INFO L290 TraceCheckUtils]: 35: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:05,397 INFO L290 TraceCheckUtils]: 36: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:05,397 INFO L290 TraceCheckUtils]: 37: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:05,397 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13036#true} {13125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #76#return; {13125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:54:05,397 INFO L272 TraceCheckUtils]: 39: Hoare triple {13125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= 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)); {13036#true} is VALID [2022-04-15 14:54:05,397 INFO L290 TraceCheckUtils]: 40: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:05,397 INFO L290 TraceCheckUtils]: 41: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:05,398 INFO L290 TraceCheckUtils]: 42: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:05,398 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {13036#true} {13125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #78#return; {13125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:54:05,399 INFO L290 TraceCheckUtils]: 44: Hoare triple {13125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {13125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:54:05,400 INFO L290 TraceCheckUtils]: 45: Hoare triple {13125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= 1 main_~p~0) (= 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; {13180#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< 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) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-15 14:54:05,400 INFO L290 TraceCheckUtils]: 46: Hoare triple {13180#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< 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) (<= 1 (+ main_~q~0 main_~p~0)))} assume !false; {13180#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< 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) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-15 14:54:05,400 INFO L272 TraceCheckUtils]: 47: Hoare triple {13180#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< 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) (<= 1 (+ main_~q~0 main_~p~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:05,400 INFO L290 TraceCheckUtils]: 48: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:05,400 INFO L290 TraceCheckUtils]: 49: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:05,401 INFO L290 TraceCheckUtils]: 50: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:05,401 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13036#true} {13180#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< 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) (<= 1 (+ main_~q~0 main_~p~0)))} #74#return; {13180#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< 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) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-15 14:54:05,401 INFO L272 TraceCheckUtils]: 52: Hoare triple {13180#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< 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) (<= 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)); {13036#true} is VALID [2022-04-15 14:54:05,401 INFO L290 TraceCheckUtils]: 53: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:05,401 INFO L290 TraceCheckUtils]: 54: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:05,401 INFO L290 TraceCheckUtils]: 55: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:05,402 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13036#true} {13180#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< 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) (<= 1 (+ main_~q~0 main_~p~0)))} #76#return; {13180#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< 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) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-15 14:54:05,402 INFO L272 TraceCheckUtils]: 57: Hoare triple {13180#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< 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) (<= 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)); {13036#true} is VALID [2022-04-15 14:54:05,402 INFO L290 TraceCheckUtils]: 58: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:05,402 INFO L290 TraceCheckUtils]: 59: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:05,402 INFO L290 TraceCheckUtils]: 60: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:05,403 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13036#true} {13180#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< 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) (<= 1 (+ main_~q~0 main_~p~0)))} #78#return; {13180#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< 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) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-15 14:54:05,403 INFO L290 TraceCheckUtils]: 62: Hoare triple {13180#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< 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) (<= 1 (+ main_~q~0 main_~p~0)))} assume !!(~a~0 != ~b~0); {13180#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< 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) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-15 14:54:05,404 INFO L290 TraceCheckUtils]: 63: Hoare triple {13180#(and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (< 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) (<= 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; {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 14:54:05,405 INFO L290 TraceCheckUtils]: 64: Hoare triple {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !false; {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 14:54:05,405 INFO L272 TraceCheckUtils]: 65: Hoare triple {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:05,405 INFO L290 TraceCheckUtils]: 66: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:05,405 INFO L290 TraceCheckUtils]: 67: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:05,405 INFO L290 TraceCheckUtils]: 68: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:05,406 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13036#true} {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #74#return; {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 14:54:05,406 INFO L272 TraceCheckUtils]: 70: Hoare triple {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:05,406 INFO L290 TraceCheckUtils]: 71: Hoare triple {13036#true} ~cond := #in~cond; {13260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:54:05,407 INFO L290 TraceCheckUtils]: 72: Hoare triple {13260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:54:05,407 INFO L290 TraceCheckUtils]: 73: Hoare triple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:54:05,408 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} {13235#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #76#return; {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 14:54:05,408 INFO L272 TraceCheckUtils]: 75: Hoare triple {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:05,408 INFO L290 TraceCheckUtils]: 76: Hoare triple {13036#true} ~cond := #in~cond; {13260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:54:05,408 INFO L290 TraceCheckUtils]: 77: Hoare triple {13260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:54:05,409 INFO L290 TraceCheckUtils]: 78: Hoare triple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:54:05,410 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} {13271#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #78#return; {13287#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 14:54:05,410 INFO L290 TraceCheckUtils]: 80: Hoare triple {13287#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {13287#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 14:54:05,417 INFO L290 TraceCheckUtils]: 81: Hoare triple {13287#(and (= (+ (* main_~a~0 2) main_~b~0) main_~x~0) (< (+ main_~b~0 main_~a~0) main_~x~0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 0 main_~b~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13294#(and (= (+ (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (mod main_~p~0 2) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-15 14:54:05,418 INFO L290 TraceCheckUtils]: 82: Hoare triple {13294#(and (= (+ (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (mod main_~p~0 2) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (<= main_~x~0 (* main_~y~0 2)))} assume !false; {13294#(and (= (+ (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (mod main_~p~0 2) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-15 14:54:05,418 INFO L272 TraceCheckUtils]: 83: Hoare triple {13294#(and (= (+ (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (mod main_~p~0 2) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~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)); {13036#true} is VALID [2022-04-15 14:54:05,418 INFO L290 TraceCheckUtils]: 84: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:05,418 INFO L290 TraceCheckUtils]: 85: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:05,418 INFO L290 TraceCheckUtils]: 86: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:05,419 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {13036#true} {13294#(and (= (+ (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (mod main_~p~0 2) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (<= main_~x~0 (* main_~y~0 2)))} #74#return; {13294#(and (= (+ (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (mod main_~p~0 2) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~0))) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-15 14:54:07,443 WARN L272 TraceCheckUtils]: 88: Hoare triple {13294#(and (= (+ (* main_~x~0 (div (- main_~p~0) 2)) (* main_~y~0 (div (* (- 2) main_~r~0) 3))) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod main_~r~0 3) 0) (= (+ (* main_~x~0 2) (* main_~y~0 (- 3))) main_~a~0) (< main_~y~0 main_~x~0) (= (mod main_~p~0 2) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~x~0 (+ main_~p~0 (div (- main_~p~0) 2))) (* (+ main_~r~0 (div (* (- 2) main_~r~0) 3)) main_~y~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)); {13316#(exists ((aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93 Int) (v_main_~x~0_BEFORE_CALL_105 Int) (aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93_56 Int) (aux_div_v_main_~r~0_BEFORE_CALL_95_34 Int) (v_main_~y~0_BEFORE_CALL_107 Int) (aux_div_v_main_~p~0_BEFORE_CALL_98_44 Int)) (and (< v_main_~y~0_BEFORE_CALL_107 v_main_~x~0_BEFORE_CALL_105) (<= (* aux_div_v_main_~p~0_BEFORE_CALL_98_44 2) (+ (* 2 aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93) (* 2 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93_56))) (< (+ (* 2 aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93) (* 2 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93_56)) (+ 2 (* aux_div_v_main_~p~0_BEFORE_CALL_98_44 2))) (<= 0 (* 2 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93_56)) (= (+ v_main_~y~0_BEFORE_CALL_107 (* aux_div_v_main_~r~0_BEFORE_CALL_95_34 v_main_~y~0_BEFORE_CALL_107) (* aux_div_v_main_~p~0_BEFORE_CALL_98_44 v_main_~x~0_BEFORE_CALL_105)) (+ (* 2 (* aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93 v_main_~x~0_BEFORE_CALL_105)) (* 2 (* v_main_~x~0_BEFORE_CALL_105 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93_56)) v_main_~x~0_BEFORE_CALL_105)) (= (+ (* 2 (* aux_div_v_main_~r~0_BEFORE_CALL_95_34 v_main_~y~0_BEFORE_CALL_107)) (* v_main_~y~0_BEFORE_CALL_107 2)) (+ v_main_~x~0_BEFORE_CALL_105 (* aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93 v_main_~x~0_BEFORE_CALL_105))) (<= 1 |__VERIFIER_assert_#in~cond|) (<= v_main_~x~0_BEFORE_CALL_105 (* v_main_~y~0_BEFORE_CALL_107 2)) (< (* 2 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93_56) 2)))} is UNKNOWN [2022-04-15 14:54:07,444 INFO L290 TraceCheckUtils]: 89: Hoare triple {13316#(exists ((aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93 Int) (v_main_~x~0_BEFORE_CALL_105 Int) (aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93_56 Int) (aux_div_v_main_~r~0_BEFORE_CALL_95_34 Int) (v_main_~y~0_BEFORE_CALL_107 Int) (aux_div_v_main_~p~0_BEFORE_CALL_98_44 Int)) (and (< v_main_~y~0_BEFORE_CALL_107 v_main_~x~0_BEFORE_CALL_105) (<= (* aux_div_v_main_~p~0_BEFORE_CALL_98_44 2) (+ (* 2 aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93) (* 2 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93_56))) (< (+ (* 2 aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93) (* 2 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93_56)) (+ 2 (* aux_div_v_main_~p~0_BEFORE_CALL_98_44 2))) (<= 0 (* 2 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93_56)) (= (+ v_main_~y~0_BEFORE_CALL_107 (* aux_div_v_main_~r~0_BEFORE_CALL_95_34 v_main_~y~0_BEFORE_CALL_107) (* aux_div_v_main_~p~0_BEFORE_CALL_98_44 v_main_~x~0_BEFORE_CALL_105)) (+ (* 2 (* aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93 v_main_~x~0_BEFORE_CALL_105)) (* 2 (* v_main_~x~0_BEFORE_CALL_105 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93_56)) v_main_~x~0_BEFORE_CALL_105)) (= (+ (* 2 (* aux_div_v_main_~r~0_BEFORE_CALL_95_34 v_main_~y~0_BEFORE_CALL_107)) (* v_main_~y~0_BEFORE_CALL_107 2)) (+ v_main_~x~0_BEFORE_CALL_105 (* aux_div_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93 v_main_~x~0_BEFORE_CALL_105))) (<= 1 |__VERIFIER_assert_#in~cond|) (<= v_main_~x~0_BEFORE_CALL_105 (* v_main_~y~0_BEFORE_CALL_107 2)) (< (* 2 aux_div_aux_mod_aux_mod_v_main_~p~0_BEFORE_CALL_98_44_93_56) 2)))} ~cond := #in~cond; {13320#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:54:07,445 INFO L290 TraceCheckUtils]: 90: Hoare triple {13320#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13037#false} is VALID [2022-04-15 14:54:07,445 INFO L290 TraceCheckUtils]: 91: Hoare triple {13037#false} assume !false; {13037#false} is VALID [2022-04-15 14:54:07,445 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 66 proven. 38 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2022-04-15 14:54:07,445 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:54:53,352 INFO L290 TraceCheckUtils]: 91: Hoare triple {13037#false} assume !false; {13037#false} is VALID [2022-04-15 14:54:53,352 INFO L290 TraceCheckUtils]: 90: Hoare triple {13320#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13037#false} is VALID [2022-04-15 14:54:53,353 INFO L290 TraceCheckUtils]: 89: Hoare triple {13333#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13320#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:54:53,353 INFO L272 TraceCheckUtils]: 88: Hoare triple {13337#(= 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)); {13333#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:54:53,354 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {13036#true} {13337#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {13337#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:54:53,354 INFO L290 TraceCheckUtils]: 86: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:53,354 INFO L290 TraceCheckUtils]: 85: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:53,354 INFO L290 TraceCheckUtils]: 84: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:53,354 INFO L272 TraceCheckUtils]: 83: Hoare triple {13337#(= 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)); {13036#true} is VALID [2022-04-15 14:54:53,355 INFO L290 TraceCheckUtils]: 82: Hoare triple {13337#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {13337#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:54:53,855 INFO L290 TraceCheckUtils]: 81: Hoare triple {13359#(= (+ main_~a~0 (* (- 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; {13337#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:54:53,856 INFO L290 TraceCheckUtils]: 80: Hoare triple {13359#(= (+ main_~a~0 (* (- 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); {13359#(= (+ main_~a~0 (* (- 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-15 14:54:53,857 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} {13366#(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)))))} #78#return; {13359#(= (+ main_~a~0 (* (- 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-15 14:54:53,857 INFO L290 TraceCheckUtils]: 78: Hoare triple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:54:53,857 INFO L290 TraceCheckUtils]: 77: Hoare triple {13376#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:54:53,858 INFO L290 TraceCheckUtils]: 76: Hoare triple {13036#true} ~cond := #in~cond; {13376#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:54:53,858 INFO L272 TraceCheckUtils]: 75: Hoare triple {13366#(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)); {13036#true} is VALID [2022-04-15 14:54:53,859 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} {13036#true} #76#return; {13366#(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-15 14:54:53,859 INFO L290 TraceCheckUtils]: 73: Hoare triple {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:54:53,859 INFO L290 TraceCheckUtils]: 72: Hoare triple {13376#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:54:53,860 INFO L290 TraceCheckUtils]: 71: Hoare triple {13036#true} ~cond := #in~cond; {13376#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:54:53,860 INFO L272 TraceCheckUtils]: 70: Hoare triple {13036#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:53,860 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {13036#true} {13036#true} #74#return; {13036#true} is VALID [2022-04-15 14:54:53,860 INFO L290 TraceCheckUtils]: 68: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:53,860 INFO L290 TraceCheckUtils]: 67: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:53,860 INFO L290 TraceCheckUtils]: 66: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:53,860 INFO L272 TraceCheckUtils]: 65: Hoare triple {13036#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:53,860 INFO L290 TraceCheckUtils]: 64: Hoare triple {13036#true} assume !false; {13036#true} is VALID [2022-04-15 14:54:53,860 INFO L290 TraceCheckUtils]: 63: Hoare triple {13036#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13036#true} is VALID [2022-04-15 14:54:53,860 INFO L290 TraceCheckUtils]: 62: Hoare triple {13036#true} assume !!(~a~0 != ~b~0); {13036#true} is VALID [2022-04-15 14:54:53,861 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13036#true} {13036#true} #78#return; {13036#true} is VALID [2022-04-15 14:54:53,861 INFO L290 TraceCheckUtils]: 60: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:53,861 INFO L290 TraceCheckUtils]: 59: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:53,861 INFO L290 TraceCheckUtils]: 58: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:53,862 INFO L272 TraceCheckUtils]: 57: Hoare triple {13036#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:53,862 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13036#true} {13036#true} #76#return; {13036#true} is VALID [2022-04-15 14:54:53,862 INFO L290 TraceCheckUtils]: 55: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:53,862 INFO L290 TraceCheckUtils]: 54: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:53,862 INFO L290 TraceCheckUtils]: 53: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:53,862 INFO L272 TraceCheckUtils]: 52: Hoare triple {13036#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:53,862 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13036#true} {13036#true} #74#return; {13036#true} is VALID [2022-04-15 14:54:53,862 INFO L290 TraceCheckUtils]: 50: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:53,862 INFO L290 TraceCheckUtils]: 49: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:53,862 INFO L290 TraceCheckUtils]: 48: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:53,862 INFO L272 TraceCheckUtils]: 47: Hoare triple {13036#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:53,863 INFO L290 TraceCheckUtils]: 46: Hoare triple {13036#true} assume !false; {13036#true} is VALID [2022-04-15 14:54:53,863 INFO L290 TraceCheckUtils]: 45: Hoare triple {13036#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13036#true} is VALID [2022-04-15 14:54:53,863 INFO L290 TraceCheckUtils]: 44: Hoare triple {13036#true} assume !!(~a~0 != ~b~0); {13036#true} is VALID [2022-04-15 14:54:53,863 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {13036#true} {13036#true} #78#return; {13036#true} is VALID [2022-04-15 14:54:53,863 INFO L290 TraceCheckUtils]: 42: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:53,863 INFO L290 TraceCheckUtils]: 41: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:53,863 INFO L290 TraceCheckUtils]: 40: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:53,863 INFO L272 TraceCheckUtils]: 39: Hoare triple {13036#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:53,863 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {13036#true} {13036#true} #76#return; {13036#true} is VALID [2022-04-15 14:54:53,863 INFO L290 TraceCheckUtils]: 37: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:53,863 INFO L290 TraceCheckUtils]: 36: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:53,864 INFO L290 TraceCheckUtils]: 35: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:53,864 INFO L272 TraceCheckUtils]: 34: Hoare triple {13036#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:53,864 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13036#true} {13036#true} #74#return; {13036#true} is VALID [2022-04-15 14:54:53,864 INFO L290 TraceCheckUtils]: 32: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:53,864 INFO L290 TraceCheckUtils]: 31: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:53,864 INFO L290 TraceCheckUtils]: 30: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:53,864 INFO L272 TraceCheckUtils]: 29: Hoare triple {13036#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:53,864 INFO L290 TraceCheckUtils]: 28: Hoare triple {13036#true} assume !false; {13036#true} is VALID [2022-04-15 14:54:53,864 INFO L290 TraceCheckUtils]: 27: Hoare triple {13036#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13036#true} is VALID [2022-04-15 14:54:53,864 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13036#true} {13036#true} #72#return; {13036#true} is VALID [2022-04-15 14:54:53,864 INFO L290 TraceCheckUtils]: 25: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:53,865 INFO L290 TraceCheckUtils]: 24: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:53,865 INFO L290 TraceCheckUtils]: 23: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:53,865 INFO L272 TraceCheckUtils]: 22: Hoare triple {13036#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:53,865 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13036#true} {13036#true} #70#return; {13036#true} is VALID [2022-04-15 14:54:53,865 INFO L290 TraceCheckUtils]: 20: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:53,865 INFO L290 TraceCheckUtils]: 19: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:53,865 INFO L290 TraceCheckUtils]: 18: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:53,865 INFO L272 TraceCheckUtils]: 17: Hoare triple {13036#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:53,865 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13036#true} {13036#true} #68#return; {13036#true} is VALID [2022-04-15 14:54:53,865 INFO L290 TraceCheckUtils]: 15: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:53,865 INFO L290 TraceCheckUtils]: 14: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:53,865 INFO L290 TraceCheckUtils]: 13: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:53,866 INFO L272 TraceCheckUtils]: 12: Hoare triple {13036#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:53,866 INFO L290 TraceCheckUtils]: 11: Hoare triple {13036#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13036#true} is VALID [2022-04-15 14:54:53,866 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13036#true} {13036#true} #66#return; {13036#true} is VALID [2022-04-15 14:54:53,866 INFO L290 TraceCheckUtils]: 9: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:53,866 INFO L290 TraceCheckUtils]: 8: Hoare triple {13036#true} assume !(0 == ~cond); {13036#true} is VALID [2022-04-15 14:54:53,866 INFO L290 TraceCheckUtils]: 7: Hoare triple {13036#true} ~cond := #in~cond; {13036#true} is VALID [2022-04-15 14:54:53,866 INFO L272 TraceCheckUtils]: 6: Hoare triple {13036#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {13036#true} is VALID [2022-04-15 14:54:53,866 INFO L290 TraceCheckUtils]: 5: Hoare triple {13036#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; {13036#true} is VALID [2022-04-15 14:54:53,866 INFO L272 TraceCheckUtils]: 4: Hoare triple {13036#true} call #t~ret6 := main(); {13036#true} is VALID [2022-04-15 14:54:53,866 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13036#true} {13036#true} #88#return; {13036#true} is VALID [2022-04-15 14:54:53,866 INFO L290 TraceCheckUtils]: 2: Hoare triple {13036#true} assume true; {13036#true} is VALID [2022-04-15 14:54:53,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {13036#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); {13036#true} is VALID [2022-04-15 14:54:53,866 INFO L272 TraceCheckUtils]: 0: Hoare triple {13036#true} call ULTIMATE.init(); {13036#true} is VALID [2022-04-15 14:54:53,867 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 75 proven. 8 refuted. 0 times theorem prover too weak. 168 trivial. 0 not checked. [2022-04-15 14:54:53,867 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:54:53,867 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [726593618] [2022-04-15 14:54:53,867 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:54:53,867 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1405129105] [2022-04-15 14:54:53,867 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1405129105] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:54:53,867 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:54:53,868 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 9] total 20 [2022-04-15 14:54:53,868 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:54:53,868 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [395999057] [2022-04-15 14:54:53,868 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [395999057] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:54:53,868 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:54:53,868 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 14:54:53,868 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2107035159] [2022-04-15 14:54:53,868 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:54:53,869 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) Word has length 92 [2022-04-15 14:54:53,869 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:54:53,869 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-15 14:54:54,123 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:54:54,123 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 14:54:54,123 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:54:54,123 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 14:54:54,123 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=316, Unknown=1, NotChecked=0, Total=380 [2022-04-15 14:54:54,124 INFO L87 Difference]: Start difference. First operand 159 states and 183 transitions. Second operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-15 14:55:05,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:55:05,225 INFO L93 Difference]: Finished difference Result 189 states and 222 transitions. [2022-04-15 14:55:05,225 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 14:55:05,225 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) Word has length 92 [2022-04-15 14:55:05,225 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:55:05,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-15 14:55:05,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 81 transitions. [2022-04-15 14:55:05,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-15 14:55:05,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 81 transitions. [2022-04-15 14:55:05,228 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 81 transitions. [2022-04-15 14:55:06,471 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:55:06,475 INFO L225 Difference]: With dead ends: 189 [2022-04-15 14:55:06,475 INFO L226 Difference]: Without dead ends: 187 [2022-04-15 14:55:06,476 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 187 GetRequests, 164 SyntacticMatches, 2 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 108 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=81, Invalid=424, Unknown=1, NotChecked=0, Total=506 [2022-04-15 14:55:06,476 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 23 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 511 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 189 SdHoareTripleChecker+Invalid, 536 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 511 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 6 IncrementalHoareTripleChecker+Unchecked, 4.6s IncrementalHoareTripleChecker+Time [2022-04-15 14:55:06,476 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 189 Invalid, 536 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 511 Invalid, 0 Unknown, 6 Unchecked, 4.6s Time] [2022-04-15 14:55:06,477 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 187 states. [2022-04-15 14:55:06,656 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 187 to 183. [2022-04-15 14:55:06,656 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:55:06,657 INFO L82 GeneralOperation]: Start isEquivalent. First operand 187 states. Second operand has 183 states, 110 states have (on average 1.1) internal successors, (121), 115 states have internal predecessors, (121), 48 states have call successors, (48), 25 states have call predecessors, (48), 24 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-15 14:55:06,657 INFO L74 IsIncluded]: Start isIncluded. First operand 187 states. Second operand has 183 states, 110 states have (on average 1.1) internal successors, (121), 115 states have internal predecessors, (121), 48 states have call successors, (48), 25 states have call predecessors, (48), 24 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-15 14:55:06,657 INFO L87 Difference]: Start difference. First operand 187 states. Second operand has 183 states, 110 states have (on average 1.1) internal successors, (121), 115 states have internal predecessors, (121), 48 states have call successors, (48), 25 states have call predecessors, (48), 24 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-15 14:55:06,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:55:06,662 INFO L93 Difference]: Finished difference Result 187 states and 220 transitions. [2022-04-15 14:55:06,662 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 220 transitions. [2022-04-15 14:55:06,662 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:55:06,662 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:55:06,663 INFO L74 IsIncluded]: Start isIncluded. First operand has 183 states, 110 states have (on average 1.1) internal successors, (121), 115 states have internal predecessors, (121), 48 states have call successors, (48), 25 states have call predecessors, (48), 24 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) Second operand 187 states. [2022-04-15 14:55:06,663 INFO L87 Difference]: Start difference. First operand has 183 states, 110 states have (on average 1.1) internal successors, (121), 115 states have internal predecessors, (121), 48 states have call successors, (48), 25 states have call predecessors, (48), 24 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) Second operand 187 states. [2022-04-15 14:55:06,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:55:06,667 INFO L93 Difference]: Finished difference Result 187 states and 220 transitions. [2022-04-15 14:55:06,667 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 220 transitions. [2022-04-15 14:55:06,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:55:06,668 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:55:06,668 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:55:06,668 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:55:06,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 183 states, 110 states have (on average 1.1) internal successors, (121), 115 states have internal predecessors, (121), 48 states have call successors, (48), 25 states have call predecessors, (48), 24 states have return successors, (47), 42 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-15 14:55:06,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 183 states to 183 states and 216 transitions. [2022-04-15 14:55:06,673 INFO L78 Accepts]: Start accepts. Automaton has 183 states and 216 transitions. Word has length 92 [2022-04-15 14:55:06,673 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:55:06,673 INFO L478 AbstractCegarLoop]: Abstraction has 183 states and 216 transitions. [2022-04-15 14:55:06,673 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 8 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-15 14:55:06,673 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 183 states and 216 transitions. [2022-04-15 14:55:12,514 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 216 edges. 214 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 14:55:12,515 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 216 transitions. [2022-04-15 14:55:12,516 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-15 14:55:12,516 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:55:12,516 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:55:12,538 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-15 14:55:12,738 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:55:12,738 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:55:12,739 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:55:12,739 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 9 times [2022-04-15 14:55:12,739 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:55:12,739 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1189749491] [2022-04-15 14:55:12,739 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:55:12,740 INFO L85 PathProgramCache]: Analyzing trace with hash 65583604, now seen corresponding path program 10 times [2022-04-15 14:55:12,740 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:55:12,740 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1756078671] [2022-04-15 14:55:12,740 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:55:12,740 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:55:12,750 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:55:12,751 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1770462850] [2022-04-15 14:55:12,751 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:55:12,751 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:55:12,751 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:55:12,752 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:55:12,755 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-15 14:55:12,801 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:55:12,801 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:55:12,802 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 56 conjunts are in the unsatisfiable core [2022-04-15 14:55:12,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:55:12,820 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:55:15,511 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 14:55:15,662 INFO L272 TraceCheckUtils]: 0: Hoare triple {14732#true} call ULTIMATE.init(); {14732#true} is VALID [2022-04-15 14:55:15,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {14732#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); {14732#true} is VALID [2022-04-15 14:55:15,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:15,662 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14732#true} {14732#true} #88#return; {14732#true} is VALID [2022-04-15 14:55:15,663 INFO L272 TraceCheckUtils]: 4: Hoare triple {14732#true} call #t~ret6 := main(); {14732#true} is VALID [2022-04-15 14:55:15,663 INFO L290 TraceCheckUtils]: 5: Hoare triple {14732#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; {14732#true} is VALID [2022-04-15 14:55:15,663 INFO L272 TraceCheckUtils]: 6: Hoare triple {14732#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:15,663 INFO L290 TraceCheckUtils]: 7: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:15,663 INFO L290 TraceCheckUtils]: 8: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:15,663 INFO L290 TraceCheckUtils]: 9: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:15,663 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14732#true} {14732#true} #66#return; {14732#true} is VALID [2022-04-15 14:55:15,663 INFO L290 TraceCheckUtils]: 11: Hoare triple {14732#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14732#true} is VALID [2022-04-15 14:55:15,663 INFO L272 TraceCheckUtils]: 12: Hoare triple {14732#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:15,663 INFO L290 TraceCheckUtils]: 13: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:15,663 INFO L290 TraceCheckUtils]: 14: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:15,663 INFO L290 TraceCheckUtils]: 15: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:15,664 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14732#true} {14732#true} #68#return; {14732#true} is VALID [2022-04-15 14:55:15,664 INFO L272 TraceCheckUtils]: 17: Hoare triple {14732#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:15,664 INFO L290 TraceCheckUtils]: 18: Hoare triple {14732#true} ~cond := #in~cond; {14791#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 14:55:15,665 INFO L290 TraceCheckUtils]: 19: Hoare triple {14791#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14795#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:55:15,665 INFO L290 TraceCheckUtils]: 20: Hoare triple {14795#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14795#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:55:15,665 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14795#(not (= |assume_abort_if_not_#in~cond| 0))} {14732#true} #70#return; {14802#(<= 1 main_~x~0)} is VALID [2022-04-15 14:55:15,666 INFO L272 TraceCheckUtils]: 22: Hoare triple {14802#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:15,666 INFO L290 TraceCheckUtils]: 23: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:15,666 INFO L290 TraceCheckUtils]: 24: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:15,666 INFO L290 TraceCheckUtils]: 25: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:15,666 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14732#true} {14802#(<= 1 main_~x~0)} #72#return; {14802#(<= 1 main_~x~0)} is VALID [2022-04-15 14:55:15,667 INFO L290 TraceCheckUtils]: 27: Hoare triple {14802#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14821#(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-15 14:55:15,667 INFO L290 TraceCheckUtils]: 28: Hoare triple {14821#(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; {14821#(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-15 14:55:15,667 INFO L272 TraceCheckUtils]: 29: Hoare triple {14821#(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)); {14732#true} is VALID [2022-04-15 14:55:15,667 INFO L290 TraceCheckUtils]: 30: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:15,668 INFO L290 TraceCheckUtils]: 31: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:15,668 INFO L290 TraceCheckUtils]: 32: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:15,668 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14732#true} {14821#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {14821#(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-15 14:55:15,669 INFO L272 TraceCheckUtils]: 34: Hoare triple {14821#(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)); {14732#true} is VALID [2022-04-15 14:55:15,669 INFO L290 TraceCheckUtils]: 35: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:15,669 INFO L290 TraceCheckUtils]: 36: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:15,669 INFO L290 TraceCheckUtils]: 37: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:15,669 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14732#true} {14821#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #76#return; {14821#(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-15 14:55:15,670 INFO L272 TraceCheckUtils]: 39: Hoare triple {14821#(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)); {14732#true} is VALID [2022-04-15 14:55:15,670 INFO L290 TraceCheckUtils]: 40: Hoare triple {14732#true} ~cond := #in~cond; {14861#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:55:15,670 INFO L290 TraceCheckUtils]: 41: Hoare triple {14861#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:55:15,671 INFO L290 TraceCheckUtils]: 42: Hoare triple {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:55:15,671 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} {14821#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #78#return; {14821#(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-15 14:55:15,672 INFO L290 TraceCheckUtils]: 44: Hoare triple {14821#(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); {14875#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 14:55:15,673 INFO L290 TraceCheckUtils]: 45: Hoare triple {14875#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {14879#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:55:15,674 INFO L290 TraceCheckUtils]: 46: Hoare triple {14879#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {14879#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:55:15,674 INFO L272 TraceCheckUtils]: 47: Hoare triple {14879#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 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)); {14732#true} is VALID [2022-04-15 14:55:15,674 INFO L290 TraceCheckUtils]: 48: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:15,674 INFO L290 TraceCheckUtils]: 49: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:15,674 INFO L290 TraceCheckUtils]: 50: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:15,675 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14732#true} {14879#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #74#return; {14879#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:55:15,675 INFO L272 TraceCheckUtils]: 52: Hoare triple {14879#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 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)); {14732#true} is VALID [2022-04-15 14:55:15,675 INFO L290 TraceCheckUtils]: 53: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:15,675 INFO L290 TraceCheckUtils]: 54: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:15,675 INFO L290 TraceCheckUtils]: 55: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:15,676 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14732#true} {14879#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #76#return; {14879#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:55:15,676 INFO L272 TraceCheckUtils]: 57: Hoare triple {14879#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 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)); {14732#true} is VALID [2022-04-15 14:55:15,676 INFO L290 TraceCheckUtils]: 58: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:15,676 INFO L290 TraceCheckUtils]: 59: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:15,677 INFO L290 TraceCheckUtils]: 60: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:15,677 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14732#true} {14879#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #78#return; {14879#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:55:15,678 INFO L290 TraceCheckUtils]: 62: Hoare triple {14879#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {14879#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 14:55:15,679 INFO L290 TraceCheckUtils]: 63: Hoare triple {14879#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (<= 1 main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 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; {14934#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-15 14:55:15,679 INFO L290 TraceCheckUtils]: 64: Hoare triple {14934#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} assume !false; {14934#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-15 14:55:15,680 INFO L272 TraceCheckUtils]: 65: Hoare triple {14934#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:15,680 INFO L290 TraceCheckUtils]: 66: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:15,680 INFO L290 TraceCheckUtils]: 67: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:15,680 INFO L290 TraceCheckUtils]: 68: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:15,681 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14732#true} {14934#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} #74#return; {14934#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-15 14:55:15,681 INFO L272 TraceCheckUtils]: 70: Hoare triple {14934#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:15,681 INFO L290 TraceCheckUtils]: 71: Hoare triple {14732#true} ~cond := #in~cond; {14861#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:55:15,681 INFO L290 TraceCheckUtils]: 72: Hoare triple {14861#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:55:15,682 INFO L290 TraceCheckUtils]: 73: Hoare triple {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:55:15,683 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} {14934#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} #76#return; {14934#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-15 14:55:15,683 INFO L272 TraceCheckUtils]: 75: Hoare triple {14934#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:15,683 INFO L290 TraceCheckUtils]: 76: Hoare triple {14732#true} ~cond := #in~cond; {14861#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:55:15,683 INFO L290 TraceCheckUtils]: 77: Hoare triple {14861#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:55:15,684 INFO L290 TraceCheckUtils]: 78: Hoare triple {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:55:15,684 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} {14934#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} #78#return; {14934#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-15 14:55:15,685 INFO L290 TraceCheckUtils]: 80: Hoare triple {14934#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} assume !!(~a~0 != ~b~0); {14934#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} is VALID [2022-04-15 14:55:15,688 INFO L290 TraceCheckUtils]: 81: Hoare triple {14934#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= main_~y~0 (+ main_~b~0 main_~x~0)) (not (= main_~x~0 (+ main_~b~0 main_~x~0))) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (not (< main_~b~0 0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {14989#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} is VALID [2022-04-15 14:55:15,688 INFO L290 TraceCheckUtils]: 82: Hoare triple {14989#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} assume !false; {14989#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} is VALID [2022-04-15 14:55:15,688 INFO L272 TraceCheckUtils]: 83: Hoare triple {14989#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:15,688 INFO L290 TraceCheckUtils]: 84: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:15,689 INFO L290 TraceCheckUtils]: 85: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:15,689 INFO L290 TraceCheckUtils]: 86: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:15,689 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {14732#true} {14989#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} #74#return; {14989#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} is VALID [2022-04-15 14:55:15,693 INFO L272 TraceCheckUtils]: 88: Hoare triple {14989#(and (<= main_~x~0 main_~y~0) (= (+ main_~r~0 2) 0) (= (+ main_~p~0 (* (div (+ (* (- 1) main_~p~0) 1) 2) 3)) 0) (< (* main_~y~0 2) (* main_~x~0 3)) (= (* main_~x~0 3) (+ main_~a~0 (* main_~y~0 2))) (= (mod (+ main_~p~0 1) 2) 0) (not (= main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15011#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:55:15,693 INFO L290 TraceCheckUtils]: 89: Hoare triple {15011#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15015#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:55:15,693 INFO L290 TraceCheckUtils]: 90: Hoare triple {15015#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14733#false} is VALID [2022-04-15 14:55:15,693 INFO L290 TraceCheckUtils]: 91: Hoare triple {14733#false} assume !false; {14733#false} is VALID [2022-04-15 14:55:15,694 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 65 proven. 54 refuted. 0 times theorem prover too weak. 132 trivial. 0 not checked. [2022-04-15 14:55:15,694 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:55:56,162 INFO L290 TraceCheckUtils]: 91: Hoare triple {14733#false} assume !false; {14733#false} is VALID [2022-04-15 14:55:56,162 INFO L290 TraceCheckUtils]: 90: Hoare triple {15015#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14733#false} is VALID [2022-04-15 14:55:56,162 INFO L290 TraceCheckUtils]: 89: Hoare triple {15011#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15015#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:55:56,163 INFO L272 TraceCheckUtils]: 88: Hoare triple {15031#(= 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)); {15011#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:55:56,164 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {14732#true} {15031#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {15031#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:55:56,164 INFO L290 TraceCheckUtils]: 86: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:56,164 INFO L290 TraceCheckUtils]: 85: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:56,164 INFO L290 TraceCheckUtils]: 84: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:56,164 INFO L272 TraceCheckUtils]: 83: Hoare triple {15031#(= 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)); {14732#true} is VALID [2022-04-15 14:55:56,164 INFO L290 TraceCheckUtils]: 82: Hoare triple {15031#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {15031#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:55:56,867 INFO L290 TraceCheckUtils]: 81: Hoare triple {15053#(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; {15031#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 14:55:56,868 INFO L290 TraceCheckUtils]: 80: Hoare triple {15053#(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); {15053#(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-15 14:55:56,869 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} {15060#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #78#return; {15053#(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-15 14:55:56,869 INFO L290 TraceCheckUtils]: 78: Hoare triple {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:55:56,870 INFO L290 TraceCheckUtils]: 77: Hoare triple {15070#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:55:56,870 INFO L290 TraceCheckUtils]: 76: Hoare triple {14732#true} ~cond := #in~cond; {15070#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:55:56,870 INFO L272 TraceCheckUtils]: 75: Hoare triple {15060#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:56,872 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} {14732#true} #76#return; {15060#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 14:55:56,872 INFO L290 TraceCheckUtils]: 73: Hoare triple {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:55:56,872 INFO L290 TraceCheckUtils]: 72: Hoare triple {15070#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14865#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:55:56,872 INFO L290 TraceCheckUtils]: 71: Hoare triple {14732#true} ~cond := #in~cond; {15070#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:55:56,872 INFO L272 TraceCheckUtils]: 70: Hoare triple {14732#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14732#true} {14732#true} #74#return; {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L290 TraceCheckUtils]: 68: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L290 TraceCheckUtils]: 67: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L290 TraceCheckUtils]: 66: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L272 TraceCheckUtils]: 65: Hoare triple {14732#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L290 TraceCheckUtils]: 64: Hoare triple {14732#true} assume !false; {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L290 TraceCheckUtils]: 63: Hoare triple {14732#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L290 TraceCheckUtils]: 62: Hoare triple {14732#true} assume !!(~a~0 != ~b~0); {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14732#true} {14732#true} #78#return; {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L290 TraceCheckUtils]: 60: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L290 TraceCheckUtils]: 59: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L290 TraceCheckUtils]: 58: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L272 TraceCheckUtils]: 57: Hoare triple {14732#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14732#true} {14732#true} #76#return; {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L290 TraceCheckUtils]: 55: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L290 TraceCheckUtils]: 54: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L290 TraceCheckUtils]: 53: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:56,873 INFO L272 TraceCheckUtils]: 52: Hoare triple {14732#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14732#true} {14732#true} #74#return; {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L290 TraceCheckUtils]: 50: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L290 TraceCheckUtils]: 49: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L290 TraceCheckUtils]: 48: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L272 TraceCheckUtils]: 47: Hoare triple {14732#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L290 TraceCheckUtils]: 46: Hoare triple {14732#true} assume !false; {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L290 TraceCheckUtils]: 45: Hoare triple {14732#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L290 TraceCheckUtils]: 44: Hoare triple {14732#true} assume !!(~a~0 != ~b~0); {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {14732#true} {14732#true} #78#return; {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L290 TraceCheckUtils]: 42: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L290 TraceCheckUtils]: 41: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L290 TraceCheckUtils]: 40: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L272 TraceCheckUtils]: 39: Hoare triple {14732#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14732#true} {14732#true} #76#return; {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L290 TraceCheckUtils]: 37: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L290 TraceCheckUtils]: 36: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L290 TraceCheckUtils]: 35: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L272 TraceCheckUtils]: 34: Hoare triple {14732#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:56,874 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14732#true} {14732#true} #74#return; {14732#true} is VALID [2022-04-15 14:55:56,875 INFO L290 TraceCheckUtils]: 32: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:56,875 INFO L290 TraceCheckUtils]: 31: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:56,875 INFO L290 TraceCheckUtils]: 30: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:56,875 INFO L272 TraceCheckUtils]: 29: Hoare triple {14732#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:56,875 INFO L290 TraceCheckUtils]: 28: Hoare triple {14732#true} assume !false; {14732#true} is VALID [2022-04-15 14:55:56,875 INFO L290 TraceCheckUtils]: 27: Hoare triple {14732#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14732#true} is VALID [2022-04-15 14:55:56,875 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14732#true} {14732#true} #72#return; {14732#true} is VALID [2022-04-15 14:55:56,875 INFO L290 TraceCheckUtils]: 25: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:56,875 INFO L290 TraceCheckUtils]: 24: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:56,875 INFO L290 TraceCheckUtils]: 23: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:56,875 INFO L272 TraceCheckUtils]: 22: Hoare triple {14732#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:56,875 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14732#true} {14732#true} #70#return; {14732#true} is VALID [2022-04-15 14:55:56,875 INFO L290 TraceCheckUtils]: 20: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:56,875 INFO L290 TraceCheckUtils]: 19: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:56,875 INFO L290 TraceCheckUtils]: 18: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:56,875 INFO L272 TraceCheckUtils]: 17: Hoare triple {14732#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:56,876 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14732#true} {14732#true} #68#return; {14732#true} is VALID [2022-04-15 14:55:56,876 INFO L290 TraceCheckUtils]: 15: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:56,876 INFO L290 TraceCheckUtils]: 14: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:56,876 INFO L290 TraceCheckUtils]: 13: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:56,876 INFO L272 TraceCheckUtils]: 12: Hoare triple {14732#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:56,876 INFO L290 TraceCheckUtils]: 11: Hoare triple {14732#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14732#true} is VALID [2022-04-15 14:55:56,876 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14732#true} {14732#true} #66#return; {14732#true} is VALID [2022-04-15 14:55:56,876 INFO L290 TraceCheckUtils]: 9: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:56,876 INFO L290 TraceCheckUtils]: 8: Hoare triple {14732#true} assume !(0 == ~cond); {14732#true} is VALID [2022-04-15 14:55:56,876 INFO L290 TraceCheckUtils]: 7: Hoare triple {14732#true} ~cond := #in~cond; {14732#true} is VALID [2022-04-15 14:55:56,876 INFO L272 TraceCheckUtils]: 6: Hoare triple {14732#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {14732#true} is VALID [2022-04-15 14:55:56,877 INFO L290 TraceCheckUtils]: 5: Hoare triple {14732#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; {14732#true} is VALID [2022-04-15 14:55:56,877 INFO L272 TraceCheckUtils]: 4: Hoare triple {14732#true} call #t~ret6 := main(); {14732#true} is VALID [2022-04-15 14:55:56,877 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14732#true} {14732#true} #88#return; {14732#true} is VALID [2022-04-15 14:55:56,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {14732#true} assume true; {14732#true} is VALID [2022-04-15 14:55:56,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {14732#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); {14732#true} is VALID [2022-04-15 14:55:56,877 INFO L272 TraceCheckUtils]: 0: Hoare triple {14732#true} call ULTIMATE.init(); {14732#true} is VALID [2022-04-15 14:55:56,877 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 75 proven. 8 refuted. 0 times theorem prover too weak. 168 trivial. 0 not checked. [2022-04-15 14:55:56,877 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:55:56,878 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1756078671] [2022-04-15 14:55:56,878 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:55:56,878 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1770462850] [2022-04-15 14:55:56,878 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1770462850] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:55:56,878 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:55:56,878 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 18 [2022-04-15 14:55:56,878 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:55:56,878 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1189749491] [2022-04-15 14:55:56,878 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1189749491] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:55:56,878 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:55:56,879 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 14:55:56,879 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1349505448] [2022-04-15 14:55:56,879 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:55:56,879 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) Word has length 92 [2022-04-15 14:55:56,879 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:55:56,880 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-15 14:55:56,957 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:55:56,957 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 14:55:56,957 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:55:56,958 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 14:55:56,958 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=247, Unknown=0, NotChecked=0, Total=306 [2022-04-15 14:55:56,958 INFO L87 Difference]: Start difference. First operand 183 states and 216 transitions. Second operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-15 14:56:00,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:56:00,346 INFO L93 Difference]: Finished difference Result 220 states and 258 transitions. [2022-04-15 14:56:00,346 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 14:56:00,347 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) Word has length 92 [2022-04-15 14:56:00,347 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:56:00,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-15 14:56:00,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-15 14:56:00,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-15 14:56:00,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-15 14:56:00,350 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 79 transitions. [2022-04-15 14:56:00,487 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:56:00,492 INFO L225 Difference]: With dead ends: 220 [2022-04-15 14:56:00,492 INFO L226 Difference]: Without dead ends: 218 [2022-04-15 14:56:00,492 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 164 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 75 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=76, Invalid=344, Unknown=0, NotChecked=0, Total=420 [2022-04-15 14:56:00,493 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 24 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 449 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 480 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 449 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-15 14:56:00,493 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 150 Invalid, 480 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 449 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-15 14:56:00,493 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 218 states. [2022-04-15 14:56:00,753 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 218 to 208. [2022-04-15 14:56:00,753 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:56:00,754 INFO L82 GeneralOperation]: Start isEquivalent. First operand 218 states. Second operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-15 14:56:00,755 INFO L74 IsIncluded]: Start isIncluded. First operand 218 states. Second operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-15 14:56:00,755 INFO L87 Difference]: Start difference. First operand 218 states. Second operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-15 14:56:00,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:56:00,760 INFO L93 Difference]: Finished difference Result 218 states and 256 transitions. [2022-04-15 14:56:00,761 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 256 transitions. [2022-04-15 14:56:00,761 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:56:00,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:56:00,762 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) Second operand 218 states. [2022-04-15 14:56:00,762 INFO L87 Difference]: Start difference. First operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) Second operand 218 states. [2022-04-15 14:56:00,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:56:00,767 INFO L93 Difference]: Finished difference Result 218 states and 256 transitions. [2022-04-15 14:56:00,767 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 256 transitions. [2022-04-15 14:56:00,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:56:00,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:56:00,768 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:56:00,768 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:56:00,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 127 states have (on average 1.1023622047244095) internal successors, (140), 131 states have internal predecessors, (140), 52 states have call successors, (52), 29 states have call predecessors, (52), 28 states have return successors, (51), 47 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-15 14:56:00,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 243 transitions. [2022-04-15 14:56:00,774 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 243 transitions. Word has length 92 [2022-04-15 14:56:00,774 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:56:00,774 INFO L478 AbstractCegarLoop]: Abstraction has 208 states and 243 transitions. [2022-04-15 14:56:00,774 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 12 states have internal predecessors, (30), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-15 14:56:00,774 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 243 transitions. [2022-04-15 14:56:03,680 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 243 edges. 242 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 14:56:03,680 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 243 transitions. [2022-04-15 14:56:03,681 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-15 14:56:03,681 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:56:03,682 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 14:56:03,721 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-15 14:56:03,882 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-15 14:56:03,882 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:56:03,882 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:56:03,882 INFO L85 PathProgramCache]: Analyzing trace with hash 1451786998, now seen corresponding path program 11 times [2022-04-15 14:56:03,883 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:56:03,883 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [906410570] [2022-04-15 14:56:03,883 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:56:03,883 INFO L85 PathProgramCache]: Analyzing trace with hash 1451786998, now seen corresponding path program 12 times [2022-04-15 14:56:03,883 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:56:03,883 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1762198860] [2022-04-15 14:56:03,883 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:56:03,883 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:56:03,897 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:56:03,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [65328155] [2022-04-15 14:56:03,897 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 14:56:03,897 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:56:03,897 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:56:03,898 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 14:56:03,901 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-15 14:56:03,950 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 14:56:03,950 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:56:03,951 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 14:56:03,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:56:03,978 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:56:18,247 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 14:56:23,614 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 14:56:28,573 INFO L272 TraceCheckUtils]: 0: Hoare triple {16599#true} call ULTIMATE.init(); {16599#true} is VALID [2022-04-15 14:56:28,574 INFO L290 TraceCheckUtils]: 1: Hoare triple {16599#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); {16599#true} is VALID [2022-04-15 14:56:28,574 INFO L290 TraceCheckUtils]: 2: Hoare triple {16599#true} assume true; {16599#true} is VALID [2022-04-15 14:56:28,574 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16599#true} {16599#true} #88#return; {16599#true} is VALID [2022-04-15 14:56:28,574 INFO L272 TraceCheckUtils]: 4: Hoare triple {16599#true} call #t~ret6 := main(); {16599#true} is VALID [2022-04-15 14:56:28,574 INFO L290 TraceCheckUtils]: 5: Hoare triple {16599#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; {16599#true} is VALID [2022-04-15 14:56:28,574 INFO L272 TraceCheckUtils]: 6: Hoare triple {16599#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {16599#true} is VALID [2022-04-15 14:56:28,574 INFO L290 TraceCheckUtils]: 7: Hoare triple {16599#true} ~cond := #in~cond; {16599#true} is VALID [2022-04-15 14:56:28,574 INFO L290 TraceCheckUtils]: 8: Hoare triple {16599#true} assume !(0 == ~cond); {16599#true} is VALID [2022-04-15 14:56:28,574 INFO L290 TraceCheckUtils]: 9: Hoare triple {16599#true} assume true; {16599#true} is VALID [2022-04-15 14:56:28,574 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16599#true} {16599#true} #66#return; {16599#true} is VALID [2022-04-15 14:56:28,574 INFO L290 TraceCheckUtils]: 11: Hoare triple {16599#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16599#true} is VALID [2022-04-15 14:56:28,574 INFO L272 TraceCheckUtils]: 12: Hoare triple {16599#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {16599#true} is VALID [2022-04-15 14:56:28,574 INFO L290 TraceCheckUtils]: 13: Hoare triple {16599#true} ~cond := #in~cond; {16599#true} is VALID [2022-04-15 14:56:28,575 INFO L290 TraceCheckUtils]: 14: Hoare triple {16599#true} assume !(0 == ~cond); {16599#true} is VALID [2022-04-15 14:56:28,575 INFO L290 TraceCheckUtils]: 15: Hoare triple {16599#true} assume true; {16599#true} is VALID [2022-04-15 14:56:28,575 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16599#true} {16599#true} #68#return; {16599#true} is VALID [2022-04-15 14:56:28,575 INFO L272 TraceCheckUtils]: 17: Hoare triple {16599#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16599#true} is VALID [2022-04-15 14:56:28,575 INFO L290 TraceCheckUtils]: 18: Hoare triple {16599#true} ~cond := #in~cond; {16599#true} is VALID [2022-04-15 14:56:28,575 INFO L290 TraceCheckUtils]: 19: Hoare triple {16599#true} assume !(0 == ~cond); {16599#true} is VALID [2022-04-15 14:56:28,575 INFO L290 TraceCheckUtils]: 20: Hoare triple {16599#true} assume true; {16599#true} is VALID [2022-04-15 14:56:28,575 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16599#true} {16599#true} #70#return; {16599#true} is VALID [2022-04-15 14:56:28,575 INFO L272 TraceCheckUtils]: 22: Hoare triple {16599#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16599#true} is VALID [2022-04-15 14:56:28,575 INFO L290 TraceCheckUtils]: 23: Hoare triple {16599#true} ~cond := #in~cond; {16599#true} is VALID [2022-04-15 14:56:28,575 INFO L290 TraceCheckUtils]: 24: Hoare triple {16599#true} assume !(0 == ~cond); {16599#true} is VALID [2022-04-15 14:56:28,575 INFO L290 TraceCheckUtils]: 25: Hoare triple {16599#true} assume true; {16599#true} is VALID [2022-04-15 14:56:28,575 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16599#true} {16599#true} #72#return; {16599#true} is VALID [2022-04-15 14:56:28,576 INFO L290 TraceCheckUtils]: 27: Hoare triple {16599#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,576 INFO L290 TraceCheckUtils]: 28: Hoare triple {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !false; {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,577 INFO L272 TraceCheckUtils]: 29: Hoare triple {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16599#true} is VALID [2022-04-15 14:56:28,577 INFO L290 TraceCheckUtils]: 30: Hoare triple {16599#true} ~cond := #in~cond; {16599#true} is VALID [2022-04-15 14:56:28,577 INFO L290 TraceCheckUtils]: 31: Hoare triple {16599#true} assume !(0 == ~cond); {16599#true} is VALID [2022-04-15 14:56:28,577 INFO L290 TraceCheckUtils]: 32: Hoare triple {16599#true} assume true; {16599#true} is VALID [2022-04-15 14:56:28,577 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16599#true} {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #74#return; {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,577 INFO L272 TraceCheckUtils]: 34: Hoare triple {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16599#true} is VALID [2022-04-15 14:56:28,578 INFO L290 TraceCheckUtils]: 35: Hoare triple {16599#true} ~cond := #in~cond; {16599#true} is VALID [2022-04-15 14:56:28,578 INFO L290 TraceCheckUtils]: 36: Hoare triple {16599#true} assume !(0 == ~cond); {16599#true} is VALID [2022-04-15 14:56:28,578 INFO L290 TraceCheckUtils]: 37: Hoare triple {16599#true} assume true; {16599#true} is VALID [2022-04-15 14:56:28,578 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {16599#true} {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #76#return; {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,578 INFO L272 TraceCheckUtils]: 39: Hoare triple {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16599#true} is VALID [2022-04-15 14:56:28,579 INFO L290 TraceCheckUtils]: 40: Hoare triple {16599#true} ~cond := #in~cond; {16599#true} is VALID [2022-04-15 14:56:28,579 INFO L290 TraceCheckUtils]: 41: Hoare triple {16599#true} assume !(0 == ~cond); {16599#true} is VALID [2022-04-15 14:56:28,579 INFO L290 TraceCheckUtils]: 42: Hoare triple {16599#true} assume true; {16599#true} is VALID [2022-04-15 14:56:28,579 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {16599#true} {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #78#return; {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,580 INFO L290 TraceCheckUtils]: 44: Hoare triple {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,580 INFO L290 TraceCheckUtils]: 45: Hoare triple {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,581 INFO L290 TraceCheckUtils]: 46: Hoare triple {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !false; {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,581 INFO L272 TraceCheckUtils]: 47: Hoare triple {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16599#true} is VALID [2022-04-15 14:56:28,581 INFO L290 TraceCheckUtils]: 48: Hoare triple {16599#true} ~cond := #in~cond; {16599#true} is VALID [2022-04-15 14:56:28,581 INFO L290 TraceCheckUtils]: 49: Hoare triple {16599#true} assume !(0 == ~cond); {16599#true} is VALID [2022-04-15 14:56:28,581 INFO L290 TraceCheckUtils]: 50: Hoare triple {16599#true} assume true; {16599#true} is VALID [2022-04-15 14:56:28,582 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {16599#true} {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #74#return; {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,582 INFO L272 TraceCheckUtils]: 52: Hoare triple {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16599#true} is VALID [2022-04-15 14:56:28,582 INFO L290 TraceCheckUtils]: 53: Hoare triple {16599#true} ~cond := #in~cond; {16599#true} is VALID [2022-04-15 14:56:28,582 INFO L290 TraceCheckUtils]: 54: Hoare triple {16599#true} assume !(0 == ~cond); {16599#true} is VALID [2022-04-15 14:56:28,582 INFO L290 TraceCheckUtils]: 55: Hoare triple {16599#true} assume true; {16599#true} is VALID [2022-04-15 14:56:28,583 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {16599#true} {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #76#return; {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,583 INFO L272 TraceCheckUtils]: 57: Hoare triple {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16599#true} is VALID [2022-04-15 14:56:28,583 INFO L290 TraceCheckUtils]: 58: Hoare triple {16599#true} ~cond := #in~cond; {16599#true} is VALID [2022-04-15 14:56:28,583 INFO L290 TraceCheckUtils]: 59: Hoare triple {16599#true} assume !(0 == ~cond); {16599#true} is VALID [2022-04-15 14:56:28,583 INFO L290 TraceCheckUtils]: 60: Hoare triple {16599#true} assume true; {16599#true} is VALID [2022-04-15 14:56:28,584 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16599#true} {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #78#return; {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,584 INFO L290 TraceCheckUtils]: 62: Hoare triple {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,585 INFO L290 TraceCheckUtils]: 63: Hoare triple {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,585 INFO L290 TraceCheckUtils]: 64: Hoare triple {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !false; {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,585 INFO L272 TraceCheckUtils]: 65: Hoare triple {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16599#true} is VALID [2022-04-15 14:56:28,585 INFO L290 TraceCheckUtils]: 66: Hoare triple {16599#true} ~cond := #in~cond; {16599#true} is VALID [2022-04-15 14:56:28,585 INFO L290 TraceCheckUtils]: 67: Hoare triple {16599#true} assume !(0 == ~cond); {16599#true} is VALID [2022-04-15 14:56:28,585 INFO L290 TraceCheckUtils]: 68: Hoare triple {16599#true} assume true; {16599#true} is VALID [2022-04-15 14:56:28,586 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {16599#true} {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #74#return; {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,586 INFO L272 TraceCheckUtils]: 70: Hoare triple {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16599#true} is VALID [2022-04-15 14:56:28,586 INFO L290 TraceCheckUtils]: 71: Hoare triple {16599#true} ~cond := #in~cond; {16599#true} is VALID [2022-04-15 14:56:28,586 INFO L290 TraceCheckUtils]: 72: Hoare triple {16599#true} assume !(0 == ~cond); {16599#true} is VALID [2022-04-15 14:56:28,586 INFO L290 TraceCheckUtils]: 73: Hoare triple {16599#true} assume true; {16599#true} is VALID [2022-04-15 14:56:28,587 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {16599#true} {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #76#return; {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,587 INFO L272 TraceCheckUtils]: 75: Hoare triple {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16599#true} is VALID [2022-04-15 14:56:28,587 INFO L290 TraceCheckUtils]: 76: Hoare triple {16599#true} ~cond := #in~cond; {16833#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:56:28,588 INFO L290 TraceCheckUtils]: 77: Hoare triple {16833#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16837#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:56:28,588 INFO L290 TraceCheckUtils]: 78: Hoare triple {16837#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16837#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:56:28,589 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {16837#(not (= |__VERIFIER_assert_#in~cond| 0))} {16685#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} #78#return; {16844#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,589 INFO L290 TraceCheckUtils]: 80: Hoare triple {16844#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16844#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 14:56:28,591 INFO L290 TraceCheckUtils]: 81: Hoare triple {16844#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~p~0) (= main_~a~0 main_~x~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {16851#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-15 14:56:28,591 INFO L290 TraceCheckUtils]: 82: Hoare triple {16851#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= 1 (+ main_~q~0 main_~p~0)))} assume !false; {16851#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-15 14:56:28,592 INFO L272 TraceCheckUtils]: 83: Hoare triple {16851#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~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)); {16599#true} is VALID [2022-04-15 14:56:28,592 INFO L290 TraceCheckUtils]: 84: Hoare triple {16599#true} ~cond := #in~cond; {16833#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:56:28,592 INFO L290 TraceCheckUtils]: 85: Hoare triple {16833#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16837#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:56:28,593 INFO L290 TraceCheckUtils]: 86: Hoare triple {16837#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16837#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:56:30,597 WARN L284 TraceCheckUtils]: 87: Hoare quadruple {16837#(not (= |__VERIFIER_assert_#in~cond| 0))} {16851#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= 1 (+ main_~q~0 main_~p~0)))} #74#return; {16870#(or (and (<= 1 (+ (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~p~0)) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) 0) (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~r~0) 1)) (not (= main_~x~0 0))) (and (= main_~x~0 0) (not (= main_~r~0 0)) (= (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) 0) (<= 1 (+ main_~p~0 (div (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0))) (= (mod (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0) 0)))} is UNKNOWN [2022-04-15 14:56:30,613 INFO L272 TraceCheckUtils]: 88: Hoare triple {16870#(or (and (<= 1 (+ (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~p~0)) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) 0) (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (div (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) main_~x~0) main_~r~0) 1)) (not (= main_~x~0 0))) (and (= main_~x~0 0) (not (= main_~r~0 0)) (= (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) main_~x~0) 0) (<= 1 (+ main_~p~0 (div (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0))) (= (mod (+ (- 1) (* (- 1) main_~p~0 main_~r~0)) main_~r~0) 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16874#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:56:30,613 INFO L290 TraceCheckUtils]: 89: Hoare triple {16874#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16878#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:56:30,614 INFO L290 TraceCheckUtils]: 90: Hoare triple {16878#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16600#false} is VALID [2022-04-15 14:56:30,614 INFO L290 TraceCheckUtils]: 91: Hoare triple {16600#false} assume !false; {16600#false} is VALID [2022-04-15 14:56:30,614 INFO L134 CoverageAnalysis]: Checked inductivity of 251 backedges. 70 proven. 11 refuted. 0 times theorem prover too weak. 170 trivial. 0 not checked. [2022-04-15 14:56:30,614 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:57:53,630 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful