/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/egcd2-ll_unwindbound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:18:00,222 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:18:00,223 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:18:00,267 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:18:00,267 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:18:00,268 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:18:00,269 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:18:00,271 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:18:00,272 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:18:00,273 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:18:00,273 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:18:00,274 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:18:00,275 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:18:00,276 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:18:00,276 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:18:00,277 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:18:00,278 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:18:00,279 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:18:00,280 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:18:00,281 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:18:00,283 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:18:00,284 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:18:00,285 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:18:00,285 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:18:00,286 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:18:00,288 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:18:00,289 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:18:00,289 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:18:00,290 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:18:00,290 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:18:00,291 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:18:00,291 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:18:00,292 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:18:00,292 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:18:00,293 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:18:00,294 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:18:00,294 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:18:00,294 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:18:00,295 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:18:00,295 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:18:00,296 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:18:00,304 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:18:00,305 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:18:00,317 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:18:00,317 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:18:00,318 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:18:00,318 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:18:00,318 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:18:00,318 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:18:00,319 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:18:00,319 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:18:00,319 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:18:00,320 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:18:00,320 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:18:00,320 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:18:00,320 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:18:00,320 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:18:00,320 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:18:00,321 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:18:00,321 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:18:00,321 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:18:00,321 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:18:00,321 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:18:00,321 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:18:00,321 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:18:00,322 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 12:18:00,535 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:18:00,554 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:18:00,556 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:18:00,557 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:18:00,559 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:18:00,560 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_unwindbound50.c [2022-04-28 12:18:00,627 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/76d108fe5/280ecffb83bc406183c139dc9de8c5c7/FLAG3ca7ffa88 [2022-04-28 12:18:01,004 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:18:01,005 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_unwindbound50.c [2022-04-28 12:18:01,009 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/76d108fe5/280ecffb83bc406183c139dc9de8c5c7/FLAG3ca7ffa88 [2022-04-28 12:18:01,021 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/76d108fe5/280ecffb83bc406183c139dc9de8c5c7 [2022-04-28 12:18:01,023 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:18:01,024 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:18:01,025 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:18:01,025 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:18:01,027 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:18:01,028 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:18:01" (1/1) ... [2022-04-28 12:18:01,029 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@757291f2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:01, skipping insertion in model container [2022-04-28 12:18:01,029 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:18:01" (1/1) ... [2022-04-28 12:18:01,035 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:18:01,047 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:18:01,199 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/egcd2-ll_unwindbound50.c[490,503] [2022-04-28 12:18:01,219 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:18:01,226 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:18:01,236 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/egcd2-ll_unwindbound50.c[490,503] [2022-04-28 12:18:01,247 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:18:01,257 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:18:01,258 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:01 WrapperNode [2022-04-28 12:18:01,258 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:18:01,259 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:18:01,259 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:18:01,259 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:18:01,268 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:01" (1/1) ... [2022-04-28 12:18:01,269 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:01" (1/1) ... [2022-04-28 12:18:01,274 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:01" (1/1) ... [2022-04-28 12:18:01,274 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:01" (1/1) ... [2022-04-28 12:18:01,285 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:01" (1/1) ... [2022-04-28 12:18:01,291 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:01" (1/1) ... [2022-04-28 12:18:01,292 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:01" (1/1) ... [2022-04-28 12:18:01,300 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:18:01,301 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:18:01,301 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:18:01,301 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:18:01,302 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:01" (1/1) ... [2022-04-28 12:18:01,313 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:18:01,325 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:01,335 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 12:18:01,341 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 12:18:01,370 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:18:01,371 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:18:01,371 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:18:01,371 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:18:01,372 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:18:01,372 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:18:01,372 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:18:01,373 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:18:01,373 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:18:01,374 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:18:01,374 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 12:18:01,374 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:18:01,374 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:18:01,375 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:18:01,375 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:18:01,377 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:18:01,377 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:18:01,378 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:18:01,378 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:18:01,378 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:18:01,479 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:18:01,480 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:18:01,677 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:18:01,683 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:18:01,683 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 12:18:01,685 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:18:01 BoogieIcfgContainer [2022-04-28 12:18:01,685 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:18:01,687 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:18:01,687 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:18:01,689 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:18:01,690 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:18:01" (1/3) ... [2022-04-28 12:18:01,690 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@33de643e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:18:01, skipping insertion in model container [2022-04-28 12:18:01,690 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:01" (2/3) ... [2022-04-28 12:18:01,691 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@33de643e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:18:01, skipping insertion in model container [2022-04-28 12:18:01,691 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:18:01" (3/3) ... [2022-04-28 12:18:01,692 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_unwindbound50.c [2022-04-28 12:18:01,707 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:18:01,707 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:18:01,765 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:18:01,770 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@24caf165, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@153b8f28 [2022-04-28 12:18:01,771 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:18:01,781 INFO L276 IsEmpty]: Start isEmpty. Operand has 39 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 23 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:18:01,788 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 12:18:01,788 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:01,789 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:01,789 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:01,795 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:01,795 INFO L85 PathProgramCache]: Analyzing trace with hash 1950618521, now seen corresponding path program 1 times [2022-04-28 12:18:01,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:01,805 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1648926918] [2022-04-28 12:18:01,818 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:01,819 INFO L85 PathProgramCache]: Analyzing trace with hash 1950618521, now seen corresponding path program 2 times [2022-04-28 12:18:01,821 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:01,821 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [596355833] [2022-04-28 12:18:01,821 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:01,822 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:01,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:01,959 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:18:01,963 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:01,976 INFO L290 TraceCheckUtils]: 0: Hoare triple {63#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {42#true} is VALID [2022-04-28 12:18:01,977 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-28 12:18:01,977 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42#true} {42#true} #98#return; {42#true} is VALID [2022-04-28 12:18:01,978 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:18:01,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:01,985 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 12:18:01,986 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 12:18:01,986 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 12:18:01,986 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {42#true} #78#return; {43#false} is VALID [2022-04-28 12:18:01,987 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 12:18:01,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:02,001 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 12:18:02,002 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 12:18:02,002 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 12:18:02,003 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #80#return; {43#false} is VALID [2022-04-28 12:18:02,003 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:18:02,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:02,016 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 12:18:02,017 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 12:18:02,017 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 12:18:02,017 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #82#return; {43#false} is VALID [2022-04-28 12:18:02,018 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 12:18:02,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:02,024 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 12:18:02,025 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 12:18:02,025 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 12:18:02,025 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #84#return; {43#false} is VALID [2022-04-28 12:18:02,026 INFO L272 TraceCheckUtils]: 0: Hoare triple {42#true} call ULTIMATE.init(); {63#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:18:02,027 INFO L290 TraceCheckUtils]: 1: Hoare triple {63#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {42#true} is VALID [2022-04-28 12:18:02,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-28 12:18:02,027 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#true} {42#true} #98#return; {42#true} is VALID [2022-04-28 12:18:02,028 INFO L272 TraceCheckUtils]: 4: Hoare triple {42#true} call #t~ret8 := main(); {42#true} is VALID [2022-04-28 12:18:02,028 INFO L290 TraceCheckUtils]: 5: Hoare triple {42#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {42#true} is VALID [2022-04-28 12:18:02,028 INFO L272 TraceCheckUtils]: 6: Hoare triple {42#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {42#true} is VALID [2022-04-28 12:18:02,028 INFO L290 TraceCheckUtils]: 7: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 12:18:02,029 INFO L290 TraceCheckUtils]: 8: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 12:18:02,029 INFO L290 TraceCheckUtils]: 9: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 12:18:02,030 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43#false} {42#true} #78#return; {43#false} is VALID [2022-04-28 12:18:02,030 INFO L272 TraceCheckUtils]: 11: Hoare triple {43#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {42#true} is VALID [2022-04-28 12:18:02,030 INFO L290 TraceCheckUtils]: 12: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 12:18:02,031 INFO L290 TraceCheckUtils]: 13: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 12:18:02,031 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 12:18:02,031 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {43#false} {43#false} #80#return; {43#false} is VALID [2022-04-28 12:18:02,031 INFO L290 TraceCheckUtils]: 16: Hoare triple {43#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {43#false} is VALID [2022-04-28 12:18:02,032 INFO L272 TraceCheckUtils]: 17: Hoare triple {43#false} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {42#true} is VALID [2022-04-28 12:18:02,032 INFO L290 TraceCheckUtils]: 18: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 12:18:02,032 INFO L290 TraceCheckUtils]: 19: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 12:18:02,033 INFO L290 TraceCheckUtils]: 20: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 12:18:02,033 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {43#false} {43#false} #82#return; {43#false} is VALID [2022-04-28 12:18:02,033 INFO L272 TraceCheckUtils]: 22: Hoare triple {43#false} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {42#true} is VALID [2022-04-28 12:18:02,034 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 12:18:02,034 INFO L290 TraceCheckUtils]: 24: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 12:18:02,034 INFO L290 TraceCheckUtils]: 25: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 12:18:02,035 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {43#false} {43#false} #84#return; {43#false} is VALID [2022-04-28 12:18:02,035 INFO L290 TraceCheckUtils]: 27: Hoare triple {43#false} assume !true; {43#false} is VALID [2022-04-28 12:18:02,035 INFO L272 TraceCheckUtils]: 28: Hoare triple {43#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {43#false} is VALID [2022-04-28 12:18:02,035 INFO L290 TraceCheckUtils]: 29: Hoare triple {43#false} ~cond := #in~cond; {43#false} is VALID [2022-04-28 12:18:02,036 INFO L290 TraceCheckUtils]: 30: Hoare triple {43#false} assume 0 == ~cond; {43#false} is VALID [2022-04-28 12:18:02,036 INFO L290 TraceCheckUtils]: 31: Hoare triple {43#false} assume !false; {43#false} is VALID [2022-04-28 12:18:02,036 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:18:02,037 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:02,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [596355833] [2022-04-28 12:18:02,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [596355833] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:02,038 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:02,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:18:02,041 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:02,041 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1648926918] [2022-04-28 12:18:02,042 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1648926918] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:02,042 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:02,042 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:18:02,042 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1974655784] [2022-04-28 12:18:02,043 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:02,047 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (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 32 [2022-04-28 12:18:02,049 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:02,052 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:02,080 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:02,080 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:18:02,080 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:02,098 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:18:02,098 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:18:02,101 INFO L87 Difference]: Start difference. First operand has 39 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 23 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:02,353 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:02,355 INFO L93 Difference]: Finished difference Result 72 states and 112 transitions. [2022-04-28 12:18:02,356 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:18:02,360 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (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 32 [2022-04-28 12:18:02,361 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:02,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:02,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 112 transitions. [2022-04-28 12:18:02,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:02,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 112 transitions. [2022-04-28 12:18:02,379 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 112 transitions. [2022-04-28 12:18:02,514 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:02,527 INFO L225 Difference]: With dead ends: 72 [2022-04-28 12:18:02,527 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 12:18:02,530 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:18:02,535 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:02,537 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 49 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:18:02,551 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 12:18:02,572 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-28 12:18:02,572 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:02,573 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:18:02,573 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:18:02,574 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:18:02,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:02,579 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-28 12:18:02,579 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-28 12:18:02,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:02,580 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:02,580 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 35 states. [2022-04-28 12:18:02,581 INFO L87 Difference]: Start difference. First operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 35 states. [2022-04-28 12:18:02,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:02,584 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-28 12:18:02,585 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-28 12:18:02,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:02,586 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:02,586 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:02,586 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:02,586 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 18 states have (on average 1.2777777777777777) internal successors, (23), 20 states have internal predecessors, (23), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:18:02,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 45 transitions. [2022-04-28 12:18:02,590 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 45 transitions. Word has length 32 [2022-04-28 12:18:02,591 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:02,591 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 45 transitions. [2022-04-28 12:18:02,591 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:02,591 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 45 transitions. [2022-04-28 12:18:02,639 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:02,639 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 45 transitions. [2022-04-28 12:18:02,640 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:18:02,640 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:02,640 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:02,641 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:18:02,641 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:02,641 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:02,641 INFO L85 PathProgramCache]: Analyzing trace with hash -1734391985, now seen corresponding path program 1 times [2022-04-28 12:18:02,642 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:02,642 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [531967164] [2022-04-28 12:18:02,642 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:02,643 INFO L85 PathProgramCache]: Analyzing trace with hash -1734391985, now seen corresponding path program 2 times [2022-04-28 12:18:02,643 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:02,643 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [714415352] [2022-04-28 12:18:02,643 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:02,643 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:02,662 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:02,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [57074306] [2022-04-28 12:18:02,663 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:18:02,663 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:02,663 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:02,665 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:18:02,687 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 12:18:02,777 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:18:02,777 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:02,784 INFO L263 TraceCheckSpWp]: Trace formula consists of 78 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:18:02,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:02,821 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:03,085 INFO L272 TraceCheckUtils]: 0: Hoare triple {348#true} call ULTIMATE.init(); {348#true} is VALID [2022-04-28 12:18:03,087 INFO L290 TraceCheckUtils]: 1: Hoare triple {348#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,087 INFO L290 TraceCheckUtils]: 2: Hoare triple {356#(<= ~counter~0 0)} assume true; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,088 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {356#(<= ~counter~0 0)} {348#true} #98#return; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,090 INFO L272 TraceCheckUtils]: 4: Hoare triple {356#(<= ~counter~0 0)} call #t~ret8 := main(); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,091 INFO L290 TraceCheckUtils]: 5: Hoare triple {356#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,091 INFO L272 TraceCheckUtils]: 6: Hoare triple {356#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,092 INFO L290 TraceCheckUtils]: 7: Hoare triple {356#(<= ~counter~0 0)} ~cond := #in~cond; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,093 INFO L290 TraceCheckUtils]: 8: Hoare triple {356#(<= ~counter~0 0)} assume !(0 == ~cond); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,094 INFO L290 TraceCheckUtils]: 9: Hoare triple {356#(<= ~counter~0 0)} assume true; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,094 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {356#(<= ~counter~0 0)} {356#(<= ~counter~0 0)} #78#return; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,095 INFO L272 TraceCheckUtils]: 11: Hoare triple {356#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,095 INFO L290 TraceCheckUtils]: 12: Hoare triple {356#(<= ~counter~0 0)} ~cond := #in~cond; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,096 INFO L290 TraceCheckUtils]: 13: Hoare triple {356#(<= ~counter~0 0)} assume !(0 == ~cond); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,096 INFO L290 TraceCheckUtils]: 14: Hoare triple {356#(<= ~counter~0 0)} assume true; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,097 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {356#(<= ~counter~0 0)} {356#(<= ~counter~0 0)} #80#return; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,097 INFO L290 TraceCheckUtils]: 16: Hoare triple {356#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,098 INFO L272 TraceCheckUtils]: 17: Hoare triple {356#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,098 INFO L290 TraceCheckUtils]: 18: Hoare triple {356#(<= ~counter~0 0)} ~cond := #in~cond; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,099 INFO L290 TraceCheckUtils]: 19: Hoare triple {356#(<= ~counter~0 0)} assume !(0 == ~cond); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,099 INFO L290 TraceCheckUtils]: 20: Hoare triple {356#(<= ~counter~0 0)} assume true; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,100 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {356#(<= ~counter~0 0)} {356#(<= ~counter~0 0)} #82#return; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,100 INFO L272 TraceCheckUtils]: 22: Hoare triple {356#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,101 INFO L290 TraceCheckUtils]: 23: Hoare triple {356#(<= ~counter~0 0)} ~cond := #in~cond; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,101 INFO L290 TraceCheckUtils]: 24: Hoare triple {356#(<= ~counter~0 0)} assume !(0 == ~cond); {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,102 INFO L290 TraceCheckUtils]: 25: Hoare triple {356#(<= ~counter~0 0)} assume true; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,102 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {356#(<= ~counter~0 0)} {356#(<= ~counter~0 0)} #84#return; {356#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:03,103 INFO L290 TraceCheckUtils]: 27: Hoare triple {356#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {435#(<= |main_#t~post6| 0)} is VALID [2022-04-28 12:18:03,103 INFO L290 TraceCheckUtils]: 28: Hoare triple {435#(<= |main_#t~post6| 0)} assume !(#t~post6 < 50);havoc #t~post6; {349#false} is VALID [2022-04-28 12:18:03,104 INFO L272 TraceCheckUtils]: 29: Hoare triple {349#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {349#false} is VALID [2022-04-28 12:18:03,104 INFO L290 TraceCheckUtils]: 30: Hoare triple {349#false} ~cond := #in~cond; {349#false} is VALID [2022-04-28 12:18:03,104 INFO L290 TraceCheckUtils]: 31: Hoare triple {349#false} assume 0 == ~cond; {349#false} is VALID [2022-04-28 12:18:03,104 INFO L290 TraceCheckUtils]: 32: Hoare triple {349#false} assume !false; {349#false} is VALID [2022-04-28 12:18:03,105 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:18:03,105 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:18:03,106 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:03,106 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [714415352] [2022-04-28 12:18:03,106 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:03,106 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [57074306] [2022-04-28 12:18:03,107 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [57074306] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:03,107 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:03,107 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:18:03,108 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:03,108 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [531967164] [2022-04-28 12:18:03,108 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [531967164] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:03,108 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:03,109 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:18:03,109 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1184328183] [2022-04-28 12:18:03,109 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:03,110 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 12:18:03,110 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:03,110 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:03,130 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:03,131 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 12:18:03,131 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:03,133 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 12:18:03,136 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:18:03,137 INFO L87 Difference]: Start difference. First operand 34 states and 45 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:03,250 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:03,251 INFO L93 Difference]: Finished difference Result 44 states and 56 transitions. [2022-04-28 12:18:03,251 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 12:18:03,251 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 12:18:03,251 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:03,252 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:03,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2022-04-28 12:18:03,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:03,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2022-04-28 12:18:03,262 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 56 transitions. [2022-04-28 12:18:03,313 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:03,316 INFO L225 Difference]: With dead ends: 44 [2022-04-28 12:18:03,316 INFO L226 Difference]: Without dead ends: 36 [2022-04-28 12:18:03,316 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:18:03,319 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 0 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 110 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:03,323 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 110 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:18:03,325 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-28 12:18:03,342 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 36. [2022-04-28 12:18:03,342 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:03,343 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:18:03,344 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:18:03,345 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:18:03,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:03,351 INFO L93 Difference]: Finished difference Result 36 states and 47 transitions. [2022-04-28 12:18:03,351 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 47 transitions. [2022-04-28 12:18:03,352 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:03,352 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:03,352 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 36 states. [2022-04-28 12:18:03,353 INFO L87 Difference]: Start difference. First operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 36 states. [2022-04-28 12:18:03,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:03,355 INFO L93 Difference]: Finished difference Result 36 states and 47 transitions. [2022-04-28 12:18:03,355 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 47 transitions. [2022-04-28 12:18:03,356 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:03,356 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:03,356 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:03,356 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:03,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 20 states have (on average 1.25) internal successors, (25), 21 states have internal predecessors, (25), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:18:03,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 47 transitions. [2022-04-28 12:18:03,359 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 47 transitions. Word has length 33 [2022-04-28 12:18:03,359 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:03,359 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 47 transitions. [2022-04-28 12:18:03,359 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:03,360 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 47 transitions. [2022-04-28 12:18:03,407 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:03,407 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 47 transitions. [2022-04-28 12:18:03,409 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 12:18:03,409 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:03,409 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:03,431 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-28 12:18:03,623 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:03,624 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:03,624 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:03,624 INFO L85 PathProgramCache]: Analyzing trace with hash 2066454233, now seen corresponding path program 1 times [2022-04-28 12:18:03,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:03,624 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1931905984] [2022-04-28 12:18:03,625 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:03,625 INFO L85 PathProgramCache]: Analyzing trace with hash 2066454233, now seen corresponding path program 2 times [2022-04-28 12:18:03,625 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:03,625 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1119467452] [2022-04-28 12:18:03,626 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:03,626 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:03,648 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:03,649 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1994157336] [2022-04-28 12:18:03,649 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:18:03,649 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:03,649 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:03,652 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:18:03,654 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 12:18:03,701 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:18:03,702 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:03,703 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:18:03,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:03,714 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:03,873 INFO L272 TraceCheckUtils]: 0: Hoare triple {682#true} call ULTIMATE.init(); {682#true} is VALID [2022-04-28 12:18:03,874 INFO L290 TraceCheckUtils]: 1: Hoare triple {682#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {682#true} is VALID [2022-04-28 12:18:03,874 INFO L290 TraceCheckUtils]: 2: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 12:18:03,874 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {682#true} {682#true} #98#return; {682#true} is VALID [2022-04-28 12:18:03,874 INFO L272 TraceCheckUtils]: 4: Hoare triple {682#true} call #t~ret8 := main(); {682#true} is VALID [2022-04-28 12:18:03,874 INFO L290 TraceCheckUtils]: 5: Hoare triple {682#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {682#true} is VALID [2022-04-28 12:18:03,875 INFO L272 TraceCheckUtils]: 6: Hoare triple {682#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {682#true} is VALID [2022-04-28 12:18:03,875 INFO L290 TraceCheckUtils]: 7: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 12:18:03,875 INFO L290 TraceCheckUtils]: 8: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 12:18:03,875 INFO L290 TraceCheckUtils]: 9: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 12:18:03,875 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {682#true} {682#true} #78#return; {682#true} is VALID [2022-04-28 12:18:03,875 INFO L272 TraceCheckUtils]: 11: Hoare triple {682#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {682#true} is VALID [2022-04-28 12:18:03,876 INFO L290 TraceCheckUtils]: 12: Hoare triple {682#true} ~cond := #in~cond; {723#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:18:03,876 INFO L290 TraceCheckUtils]: 13: Hoare triple {723#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:03,877 INFO L290 TraceCheckUtils]: 14: Hoare triple {727#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:03,878 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {727#(not (= |assume_abort_if_not_#in~cond| 0))} {682#true} #80#return; {734#(<= 1 main_~y~0)} is VALID [2022-04-28 12:18:03,878 INFO L290 TraceCheckUtils]: 16: Hoare triple {734#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:03,878 INFO L272 TraceCheckUtils]: 17: Hoare triple {738#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {682#true} is VALID [2022-04-28 12:18:03,879 INFO L290 TraceCheckUtils]: 18: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 12:18:03,879 INFO L290 TraceCheckUtils]: 19: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 12:18:03,879 INFO L290 TraceCheckUtils]: 20: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 12:18:03,880 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {682#true} {738#(<= 1 main_~b~0)} #82#return; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:03,880 INFO L272 TraceCheckUtils]: 22: Hoare triple {738#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {682#true} is VALID [2022-04-28 12:18:03,880 INFO L290 TraceCheckUtils]: 23: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 12:18:03,880 INFO L290 TraceCheckUtils]: 24: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 12:18:03,880 INFO L290 TraceCheckUtils]: 25: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 12:18:03,881 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {682#true} {738#(<= 1 main_~b~0)} #84#return; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:03,881 INFO L290 TraceCheckUtils]: 27: Hoare triple {738#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:03,882 INFO L290 TraceCheckUtils]: 28: Hoare triple {738#(<= 1 main_~b~0)} assume !!(#t~post6 < 50);havoc #t~post6; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:03,882 INFO L290 TraceCheckUtils]: 29: Hoare triple {738#(<= 1 main_~b~0)} assume !(0 != ~b~0); {683#false} is VALID [2022-04-28 12:18:03,882 INFO L272 TraceCheckUtils]: 30: Hoare triple {683#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {683#false} is VALID [2022-04-28 12:18:03,882 INFO L290 TraceCheckUtils]: 31: Hoare triple {683#false} ~cond := #in~cond; {683#false} is VALID [2022-04-28 12:18:03,883 INFO L290 TraceCheckUtils]: 32: Hoare triple {683#false} assume 0 == ~cond; {683#false} is VALID [2022-04-28 12:18:03,883 INFO L290 TraceCheckUtils]: 33: Hoare triple {683#false} assume !false; {683#false} is VALID [2022-04-28 12:18:03,883 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 12:18:03,883 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:18:04,089 INFO L290 TraceCheckUtils]: 33: Hoare triple {683#false} assume !false; {683#false} is VALID [2022-04-28 12:18:04,090 INFO L290 TraceCheckUtils]: 32: Hoare triple {683#false} assume 0 == ~cond; {683#false} is VALID [2022-04-28 12:18:04,090 INFO L290 TraceCheckUtils]: 31: Hoare triple {683#false} ~cond := #in~cond; {683#false} is VALID [2022-04-28 12:18:04,090 INFO L272 TraceCheckUtils]: 30: Hoare triple {683#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {683#false} is VALID [2022-04-28 12:18:04,091 INFO L290 TraceCheckUtils]: 29: Hoare triple {738#(<= 1 main_~b~0)} assume !(0 != ~b~0); {683#false} is VALID [2022-04-28 12:18:04,100 INFO L290 TraceCheckUtils]: 28: Hoare triple {738#(<= 1 main_~b~0)} assume !!(#t~post6 < 50);havoc #t~post6; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:04,100 INFO L290 TraceCheckUtils]: 27: Hoare triple {738#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:04,101 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {682#true} {738#(<= 1 main_~b~0)} #84#return; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:04,101 INFO L290 TraceCheckUtils]: 25: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 12:18:04,101 INFO L290 TraceCheckUtils]: 24: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 12:18:04,101 INFO L290 TraceCheckUtils]: 23: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 12:18:04,102 INFO L272 TraceCheckUtils]: 22: Hoare triple {738#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {682#true} is VALID [2022-04-28 12:18:04,102 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {682#true} {738#(<= 1 main_~b~0)} #82#return; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:04,102 INFO L290 TraceCheckUtils]: 20: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 12:18:04,102 INFO L290 TraceCheckUtils]: 19: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 12:18:04,103 INFO L290 TraceCheckUtils]: 18: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 12:18:04,103 INFO L272 TraceCheckUtils]: 17: Hoare triple {738#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {682#true} is VALID [2022-04-28 12:18:04,103 INFO L290 TraceCheckUtils]: 16: Hoare triple {734#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {738#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:04,104 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {727#(not (= |assume_abort_if_not_#in~cond| 0))} {682#true} #80#return; {734#(<= 1 main_~y~0)} is VALID [2022-04-28 12:18:04,105 INFO L290 TraceCheckUtils]: 14: Hoare triple {727#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:04,105 INFO L290 TraceCheckUtils]: 13: Hoare triple {853#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:04,106 INFO L290 TraceCheckUtils]: 12: Hoare triple {682#true} ~cond := #in~cond; {853#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:18:04,106 INFO L272 TraceCheckUtils]: 11: Hoare triple {682#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {682#true} is VALID [2022-04-28 12:18:04,106 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {682#true} {682#true} #78#return; {682#true} is VALID [2022-04-28 12:18:04,106 INFO L290 TraceCheckUtils]: 9: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 12:18:04,106 INFO L290 TraceCheckUtils]: 8: Hoare triple {682#true} assume !(0 == ~cond); {682#true} is VALID [2022-04-28 12:18:04,106 INFO L290 TraceCheckUtils]: 7: Hoare triple {682#true} ~cond := #in~cond; {682#true} is VALID [2022-04-28 12:18:04,106 INFO L272 TraceCheckUtils]: 6: Hoare triple {682#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {682#true} is VALID [2022-04-28 12:18:04,106 INFO L290 TraceCheckUtils]: 5: Hoare triple {682#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {682#true} is VALID [2022-04-28 12:18:04,107 INFO L272 TraceCheckUtils]: 4: Hoare triple {682#true} call #t~ret8 := main(); {682#true} is VALID [2022-04-28 12:18:04,107 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {682#true} {682#true} #98#return; {682#true} is VALID [2022-04-28 12:18:04,107 INFO L290 TraceCheckUtils]: 2: Hoare triple {682#true} assume true; {682#true} is VALID [2022-04-28 12:18:04,107 INFO L290 TraceCheckUtils]: 1: Hoare triple {682#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {682#true} is VALID [2022-04-28 12:18:04,107 INFO L272 TraceCheckUtils]: 0: Hoare triple {682#true} call ULTIMATE.init(); {682#true} is VALID [2022-04-28 12:18:04,107 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 12:18:04,108 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:04,108 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1119467452] [2022-04-28 12:18:04,108 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:04,108 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1994157336] [2022-04-28 12:18:04,108 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1994157336] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:18:04,108 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:18:04,108 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-28 12:18:04,109 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:04,109 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1931905984] [2022-04-28 12:18:04,109 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1931905984] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:04,109 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:04,109 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:18:04,109 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [767757779] [2022-04-28 12:18:04,109 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:04,110 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 12:18:04,110 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:04,110 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:04,131 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:04,132 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:18:04,132 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:04,132 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:18:04,132 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 12:18:04,133 INFO L87 Difference]: Start difference. First operand 36 states and 47 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:04,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:04,437 INFO L93 Difference]: Finished difference Result 53 states and 71 transitions. [2022-04-28 12:18:04,437 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:18:04,437 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 12:18:04,438 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:04,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:04,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 71 transitions. [2022-04-28 12:18:04,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:04,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 71 transitions. [2022-04-28 12:18:04,445 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 71 transitions. [2022-04-28 12:18:04,506 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:04,510 INFO L225 Difference]: With dead ends: 53 [2022-04-28 12:18:04,510 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 12:18:04,511 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 61 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:18:04,512 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 28 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 135 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 74 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:04,512 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 135 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 74 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:18:04,514 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 12:18:04,542 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 37. [2022-04-28 12:18:04,542 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:04,542 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:18:04,543 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:18:04,543 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:18:04,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:04,546 INFO L93 Difference]: Finished difference Result 45 states and 62 transitions. [2022-04-28 12:18:04,546 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-28 12:18:04,546 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:04,546 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:04,547 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 45 states. [2022-04-28 12:18:04,547 INFO L87 Difference]: Start difference. First operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 45 states. [2022-04-28 12:18:04,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:04,550 INFO L93 Difference]: Finished difference Result 45 states and 62 transitions. [2022-04-28 12:18:04,550 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-28 12:18:04,550 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:04,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:04,550 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:04,550 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:04,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 22 states have internal predecessors, (26), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:18:04,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 48 transitions. [2022-04-28 12:18:04,553 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 48 transitions. Word has length 34 [2022-04-28 12:18:04,553 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:04,553 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 48 transitions. [2022-04-28 12:18:04,553 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:04,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 48 transitions. [2022-04-28 12:18:04,598 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:04,598 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-04-28 12:18:04,599 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 12:18:04,599 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:04,599 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:04,624 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 12:18:04,819 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 12:18:04,820 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:04,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:04,820 INFO L85 PathProgramCache]: Analyzing trace with hash 1678606280, now seen corresponding path program 1 times [2022-04-28 12:18:04,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:04,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [583764530] [2022-04-28 12:18:04,821 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:04,821 INFO L85 PathProgramCache]: Analyzing trace with hash 1678606280, now seen corresponding path program 2 times [2022-04-28 12:18:04,821 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:04,821 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1912881736] [2022-04-28 12:18:04,821 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:04,821 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:04,836 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:04,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [175906372] [2022-04-28 12:18:04,836 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:18:04,836 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:04,837 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:04,837 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:18:04,839 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 12:18:04,883 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:18:04,883 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:04,884 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 12:18:04,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:04,915 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:05,040 INFO L272 TraceCheckUtils]: 0: Hoare triple {1166#true} call ULTIMATE.init(); {1166#true} is VALID [2022-04-28 12:18:05,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {1166#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1166#true} is VALID [2022-04-28 12:18:05,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {1166#true} assume true; {1166#true} is VALID [2022-04-28 12:18:05,040 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1166#true} {1166#true} #98#return; {1166#true} is VALID [2022-04-28 12:18:05,041 INFO L272 TraceCheckUtils]: 4: Hoare triple {1166#true} call #t~ret8 := main(); {1166#true} is VALID [2022-04-28 12:18:05,041 INFO L290 TraceCheckUtils]: 5: Hoare triple {1166#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1166#true} is VALID [2022-04-28 12:18:05,041 INFO L272 TraceCheckUtils]: 6: Hoare triple {1166#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1166#true} is VALID [2022-04-28 12:18:05,041 INFO L290 TraceCheckUtils]: 7: Hoare triple {1166#true} ~cond := #in~cond; {1166#true} is VALID [2022-04-28 12:18:05,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {1166#true} assume !(0 == ~cond); {1166#true} is VALID [2022-04-28 12:18:05,041 INFO L290 TraceCheckUtils]: 9: Hoare triple {1166#true} assume true; {1166#true} is VALID [2022-04-28 12:18:05,042 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1166#true} {1166#true} #78#return; {1166#true} is VALID [2022-04-28 12:18:05,042 INFO L272 TraceCheckUtils]: 11: Hoare triple {1166#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1166#true} is VALID [2022-04-28 12:18:05,042 INFO L290 TraceCheckUtils]: 12: Hoare triple {1166#true} ~cond := #in~cond; {1166#true} is VALID [2022-04-28 12:18:05,042 INFO L290 TraceCheckUtils]: 13: Hoare triple {1166#true} assume !(0 == ~cond); {1166#true} is VALID [2022-04-28 12:18:05,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {1166#true} assume true; {1166#true} is VALID [2022-04-28 12:18:05,043 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1166#true} {1166#true} #80#return; {1166#true} is VALID [2022-04-28 12:18:05,043 INFO L290 TraceCheckUtils]: 16: Hoare triple {1166#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1166#true} is VALID [2022-04-28 12:18:05,043 INFO L272 TraceCheckUtils]: 17: Hoare triple {1166#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1166#true} is VALID [2022-04-28 12:18:05,043 INFO L290 TraceCheckUtils]: 18: Hoare triple {1166#true} ~cond := #in~cond; {1166#true} is VALID [2022-04-28 12:18:05,043 INFO L290 TraceCheckUtils]: 19: Hoare triple {1166#true} assume !(0 == ~cond); {1166#true} is VALID [2022-04-28 12:18:05,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {1166#true} assume true; {1166#true} is VALID [2022-04-28 12:18:05,044 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1166#true} {1166#true} #82#return; {1166#true} is VALID [2022-04-28 12:18:05,044 INFO L272 TraceCheckUtils]: 22: Hoare triple {1166#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1166#true} is VALID [2022-04-28 12:18:05,044 INFO L290 TraceCheckUtils]: 23: Hoare triple {1166#true} ~cond := #in~cond; {1166#true} is VALID [2022-04-28 12:18:05,045 INFO L290 TraceCheckUtils]: 24: Hoare triple {1166#true} assume !(0 == ~cond); {1166#true} is VALID [2022-04-28 12:18:05,045 INFO L290 TraceCheckUtils]: 25: Hoare triple {1166#true} assume true; {1166#true} is VALID [2022-04-28 12:18:05,045 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1166#true} {1166#true} #84#return; {1166#true} is VALID [2022-04-28 12:18:05,046 INFO L290 TraceCheckUtils]: 27: Hoare triple {1166#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1166#true} is VALID [2022-04-28 12:18:05,046 INFO L290 TraceCheckUtils]: 28: Hoare triple {1166#true} assume !!(#t~post6 < 50);havoc #t~post6; {1166#true} is VALID [2022-04-28 12:18:05,047 INFO L290 TraceCheckUtils]: 29: Hoare triple {1166#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 12:18:05,048 INFO L290 TraceCheckUtils]: 30: Hoare triple {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 12:18:05,048 INFO L290 TraceCheckUtils]: 31: Hoare triple {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} assume !!(#t~post7 < 50);havoc #t~post7; {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 12:18:05,049 INFO L272 TraceCheckUtils]: 32: Hoare triple {1258#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1268#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:05,049 INFO L290 TraceCheckUtils]: 33: Hoare triple {1268#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1272#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:05,050 INFO L290 TraceCheckUtils]: 34: Hoare triple {1272#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1167#false} is VALID [2022-04-28 12:18:05,050 INFO L290 TraceCheckUtils]: 35: Hoare triple {1167#false} assume !false; {1167#false} is VALID [2022-04-28 12:18:05,051 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:18:05,051 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:18:05,051 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:05,051 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1912881736] [2022-04-28 12:18:05,051 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:05,051 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [175906372] [2022-04-28 12:18:05,051 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [175906372] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:05,051 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:05,052 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:18:05,052 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:05,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [583764530] [2022-04-28 12:18:05,052 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [583764530] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:05,053 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:05,053 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:18:05,054 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [973979915] [2022-04-28 12:18:05,054 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:05,054 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, (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 36 [2022-04-28 12:18:05,054 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:05,055 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:18:05,074 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:05,074 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:18:05,074 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:05,074 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:18:05,075 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:18:05,075 INFO L87 Difference]: Start difference. First operand 37 states and 48 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:18:05,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:05,282 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-28 12:18:05,282 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:18:05,283 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, (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 36 [2022-04-28 12:18:05,283 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:05,283 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:18:05,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:18:05,285 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:18:05,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-28 12:18:05,289 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-28 12:18:05,340 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:05,343 INFO L225 Difference]: With dead ends: 51 [2022-04-28 12:18:05,343 INFO L226 Difference]: Without dead ends: 49 [2022-04-28 12:18:05,343 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:18:05,345 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 7 mSDsluCounter, 107 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:05,346 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 150 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:18:05,347 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-28 12:18:05,380 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 44. [2022-04-28 12:18:05,380 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:05,380 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:18:05,381 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:18:05,381 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:18:05,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:05,384 INFO L93 Difference]: Finished difference Result 49 states and 65 transitions. [2022-04-28 12:18:05,384 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-28 12:18:05,384 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:05,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:05,384 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 49 states. [2022-04-28 12:18:05,385 INFO L87 Difference]: Start difference. First operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 49 states. [2022-04-28 12:18:05,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:05,387 INFO L93 Difference]: Finished difference Result 49 states and 65 transitions. [2022-04-28 12:18:05,387 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-28 12:18:05,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:05,388 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:05,388 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:05,388 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:05,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 28 states have internal predecessors, (32), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:18:05,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 56 transitions. [2022-04-28 12:18:05,390 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 56 transitions. Word has length 36 [2022-04-28 12:18:05,390 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:05,390 INFO L495 AbstractCegarLoop]: Abstraction has 44 states and 56 transitions. [2022-04-28 12:18:05,391 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:18:05,391 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 56 transitions. [2022-04-28 12:18:05,447 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:05,447 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 56 transitions. [2022-04-28 12:18:05,447 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 12:18:05,448 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:05,448 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:05,473 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-28 12:18:05,670 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:05,671 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:05,671 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:05,671 INFO L85 PathProgramCache]: Analyzing trace with hash -2124209112, now seen corresponding path program 1 times [2022-04-28 12:18:05,672 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:05,672 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [319288234] [2022-04-28 12:18:05,672 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:05,672 INFO L85 PathProgramCache]: Analyzing trace with hash -2124209112, now seen corresponding path program 2 times [2022-04-28 12:18:05,672 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:05,672 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [199673107] [2022-04-28 12:18:05,673 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:05,673 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:05,690 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:05,690 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1542358555] [2022-04-28 12:18:05,690 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:18:05,690 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:05,690 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:05,691 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:18:05,705 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 12:18:05,752 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:18:05,753 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:05,753 INFO L263 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:18:05,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:05,768 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:05,935 INFO L272 TraceCheckUtils]: 0: Hoare triple {1568#true} call ULTIMATE.init(); {1568#true} is VALID [2022-04-28 12:18:05,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {1568#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,937 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#(<= ~counter~0 0)} assume true; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,937 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#(<= ~counter~0 0)} {1568#true} #98#return; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,937 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#(<= ~counter~0 0)} call #t~ret8 := main(); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,938 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,938 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,939 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#(<= ~counter~0 0)} ~cond := #in~cond; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,939 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#(<= ~counter~0 0)} assume !(0 == ~cond); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,939 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#(<= ~counter~0 0)} assume true; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,940 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#(<= ~counter~0 0)} {1576#(<= ~counter~0 0)} #78#return; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,940 INFO L272 TraceCheckUtils]: 11: Hoare triple {1576#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,941 INFO L290 TraceCheckUtils]: 12: Hoare triple {1576#(<= ~counter~0 0)} ~cond := #in~cond; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,941 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#(<= ~counter~0 0)} assume !(0 == ~cond); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,941 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#(<= ~counter~0 0)} assume true; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,942 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1576#(<= ~counter~0 0)} {1576#(<= ~counter~0 0)} #80#return; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,942 INFO L290 TraceCheckUtils]: 16: Hoare triple {1576#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,943 INFO L272 TraceCheckUtils]: 17: Hoare triple {1576#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,943 INFO L290 TraceCheckUtils]: 18: Hoare triple {1576#(<= ~counter~0 0)} ~cond := #in~cond; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,943 INFO L290 TraceCheckUtils]: 19: Hoare triple {1576#(<= ~counter~0 0)} assume !(0 == ~cond); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,944 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#(<= ~counter~0 0)} assume true; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,944 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1576#(<= ~counter~0 0)} {1576#(<= ~counter~0 0)} #82#return; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,945 INFO L272 TraceCheckUtils]: 22: Hoare triple {1576#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,945 INFO L290 TraceCheckUtils]: 23: Hoare triple {1576#(<= ~counter~0 0)} ~cond := #in~cond; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,945 INFO L290 TraceCheckUtils]: 24: Hoare triple {1576#(<= ~counter~0 0)} assume !(0 == ~cond); {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,946 INFO L290 TraceCheckUtils]: 25: Hoare triple {1576#(<= ~counter~0 0)} assume true; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,946 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1576#(<= ~counter~0 0)} {1576#(<= ~counter~0 0)} #84#return; {1576#(<= ~counter~0 0)} is VALID [2022-04-28 12:18:05,947 INFO L290 TraceCheckUtils]: 27: Hoare triple {1576#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1655#(<= ~counter~0 1)} is VALID [2022-04-28 12:18:05,947 INFO L290 TraceCheckUtils]: 28: Hoare triple {1655#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {1655#(<= ~counter~0 1)} is VALID [2022-04-28 12:18:05,947 INFO L290 TraceCheckUtils]: 29: Hoare triple {1655#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1655#(<= ~counter~0 1)} is VALID [2022-04-28 12:18:05,948 INFO L290 TraceCheckUtils]: 30: Hoare triple {1655#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1665#(<= |main_#t~post7| 1)} is VALID [2022-04-28 12:18:05,948 INFO L290 TraceCheckUtils]: 31: Hoare triple {1665#(<= |main_#t~post7| 1)} assume !(#t~post7 < 50);havoc #t~post7; {1569#false} is VALID [2022-04-28 12:18:05,949 INFO L290 TraceCheckUtils]: 32: Hoare triple {1569#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1569#false} is VALID [2022-04-28 12:18:05,949 INFO L290 TraceCheckUtils]: 33: Hoare triple {1569#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1569#false} is VALID [2022-04-28 12:18:05,949 INFO L290 TraceCheckUtils]: 34: Hoare triple {1569#false} assume !(#t~post6 < 50);havoc #t~post6; {1569#false} is VALID [2022-04-28 12:18:05,949 INFO L272 TraceCheckUtils]: 35: Hoare triple {1569#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {1569#false} is VALID [2022-04-28 12:18:05,949 INFO L290 TraceCheckUtils]: 36: Hoare triple {1569#false} ~cond := #in~cond; {1569#false} is VALID [2022-04-28 12:18:05,949 INFO L290 TraceCheckUtils]: 37: Hoare triple {1569#false} assume 0 == ~cond; {1569#false} is VALID [2022-04-28 12:18:05,949 INFO L290 TraceCheckUtils]: 38: Hoare triple {1569#false} assume !false; {1569#false} is VALID [2022-04-28 12:18:05,950 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:18:05,950 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:18:05,950 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:05,950 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [199673107] [2022-04-28 12:18:05,950 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:05,950 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1542358555] [2022-04-28 12:18:05,950 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1542358555] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:05,950 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:05,951 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:18:05,951 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:05,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [319288234] [2022-04-28 12:18:05,951 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [319288234] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:05,951 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:05,951 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:18:05,951 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1615407864] [2022-04-28 12:18:05,951 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:05,952 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), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-28 12:18:05,952 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:05,952 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), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:05,986 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:05,986 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:18:05,986 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:05,987 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:18:05,988 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:18:05,988 INFO L87 Difference]: Start difference. First operand 44 states and 56 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:06,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:06,146 INFO L93 Difference]: Finished difference Result 72 states and 94 transitions. [2022-04-28 12:18:06,146 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:18:06,147 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), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-28 12:18:06,147 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:06,147 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), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:06,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-28 12:18:06,149 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), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:06,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-28 12:18:06,150 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-28 12:18:06,211 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:06,213 INFO L225 Difference]: With dead ends: 72 [2022-04-28 12:18:06,213 INFO L226 Difference]: Without dead ends: 46 [2022-04-28 12:18:06,213 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:18:06,214 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 6 mSDsluCounter, 91 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:06,214 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 133 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:18:06,214 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-28 12:18:06,250 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-04-28 12:18:06,250 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:06,250 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:18:06,251 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:18:06,251 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:18:06,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:06,253 INFO L93 Difference]: Finished difference Result 46 states and 58 transitions. [2022-04-28 12:18:06,253 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 58 transitions. [2022-04-28 12:18:06,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:06,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:06,254 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 46 states. [2022-04-28 12:18:06,254 INFO L87 Difference]: Start difference. First operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 46 states. [2022-04-28 12:18:06,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:06,256 INFO L93 Difference]: Finished difference Result 46 states and 58 transitions. [2022-04-28 12:18:06,256 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 58 transitions. [2022-04-28 12:18:06,256 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:06,256 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:06,256 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:06,256 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:06,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:18:06,258 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 58 transitions. [2022-04-28 12:18:06,258 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 58 transitions. Word has length 39 [2022-04-28 12:18:06,258 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:06,259 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 58 transitions. [2022-04-28 12:18:06,259 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 3 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:18:06,259 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 58 transitions. [2022-04-28 12:18:06,317 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:06,317 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 58 transitions. [2022-04-28 12:18:06,317 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 12:18:06,317 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:06,317 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:06,346 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 12:18:06,540 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:06,540 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:06,541 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:06,541 INFO L85 PathProgramCache]: Analyzing trace with hash 1052701339, now seen corresponding path program 1 times [2022-04-28 12:18:06,541 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:06,541 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [487219985] [2022-04-28 12:18:06,541 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:06,541 INFO L85 PathProgramCache]: Analyzing trace with hash 1052701339, now seen corresponding path program 2 times [2022-04-28 12:18:06,541 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:06,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1876234483] [2022-04-28 12:18:06,542 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:06,542 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:06,568 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:06,568 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2023523905] [2022-04-28 12:18:06,568 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:18:06,569 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:06,569 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:06,570 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:18:06,571 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 12:18:06,613 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:18:06,614 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:06,614 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:18:06,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:06,625 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:06,907 INFO L272 TraceCheckUtils]: 0: Hoare triple {2017#true} call ULTIMATE.init(); {2017#true} is VALID [2022-04-28 12:18:06,907 INFO L290 TraceCheckUtils]: 1: Hoare triple {2017#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2017#true} is VALID [2022-04-28 12:18:06,907 INFO L290 TraceCheckUtils]: 2: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:18:06,907 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2017#true} {2017#true} #98#return; {2017#true} is VALID [2022-04-28 12:18:06,907 INFO L272 TraceCheckUtils]: 4: Hoare triple {2017#true} call #t~ret8 := main(); {2017#true} is VALID [2022-04-28 12:18:06,908 INFO L290 TraceCheckUtils]: 5: Hoare triple {2017#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2017#true} is VALID [2022-04-28 12:18:06,908 INFO L272 TraceCheckUtils]: 6: Hoare triple {2017#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:18:06,908 INFO L290 TraceCheckUtils]: 7: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:18:06,908 INFO L290 TraceCheckUtils]: 8: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:18:06,909 INFO L290 TraceCheckUtils]: 9: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:18:06,909 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2017#true} {2017#true} #78#return; {2017#true} is VALID [2022-04-28 12:18:06,909 INFO L272 TraceCheckUtils]: 11: Hoare triple {2017#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:18:06,909 INFO L290 TraceCheckUtils]: 12: Hoare triple {2017#true} ~cond := #in~cond; {2058#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:18:06,910 INFO L290 TraceCheckUtils]: 13: Hoare triple {2058#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2062#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:06,910 INFO L290 TraceCheckUtils]: 14: Hoare triple {2062#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2062#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:06,916 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2062#(not (= |assume_abort_if_not_#in~cond| 0))} {2017#true} #80#return; {2069#(<= 1 main_~y~0)} is VALID [2022-04-28 12:18:06,917 INFO L290 TraceCheckUtils]: 16: Hoare triple {2069#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:06,917 INFO L272 TraceCheckUtils]: 17: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:18:06,918 INFO L290 TraceCheckUtils]: 18: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:18:06,921 INFO L290 TraceCheckUtils]: 19: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:18:06,921 INFO L290 TraceCheckUtils]: 20: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:18:06,923 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2017#true} {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:06,932 INFO L272 TraceCheckUtils]: 22: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:18:06,934 INFO L290 TraceCheckUtils]: 23: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:18:06,934 INFO L290 TraceCheckUtils]: 24: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:18:06,934 INFO L290 TraceCheckUtils]: 25: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:18:06,936 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2017#true} {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:06,936 INFO L290 TraceCheckUtils]: 27: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:06,943 INFO L290 TraceCheckUtils]: 28: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:06,944 INFO L290 TraceCheckUtils]: 29: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:06,945 INFO L290 TraceCheckUtils]: 30: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:06,945 INFO L290 TraceCheckUtils]: 31: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:06,945 INFO L272 TraceCheckUtils]: 32: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:18:06,945 INFO L290 TraceCheckUtils]: 33: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:18:06,946 INFO L290 TraceCheckUtils]: 34: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:18:06,946 INFO L290 TraceCheckUtils]: 35: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:18:06,946 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2017#true} {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:06,947 INFO L272 TraceCheckUtils]: 37: Hoare triple {2073#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2137#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:06,948 INFO L290 TraceCheckUtils]: 38: Hoare triple {2137#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2141#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:06,948 INFO L290 TraceCheckUtils]: 39: Hoare triple {2141#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2018#false} is VALID [2022-04-28 12:18:06,948 INFO L290 TraceCheckUtils]: 40: Hoare triple {2018#false} assume !false; {2018#false} is VALID [2022-04-28 12:18:06,948 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 5 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 12:18:06,948 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:18:07,158 INFO L290 TraceCheckUtils]: 40: Hoare triple {2018#false} assume !false; {2018#false} is VALID [2022-04-28 12:18:07,158 INFO L290 TraceCheckUtils]: 39: Hoare triple {2141#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2018#false} is VALID [2022-04-28 12:18:07,159 INFO L290 TraceCheckUtils]: 38: Hoare triple {2137#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2141#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:07,160 INFO L272 TraceCheckUtils]: 37: Hoare triple {2157#(= 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)); {2137#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:07,161 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2017#true} {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #86#return; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:07,161 INFO L290 TraceCheckUtils]: 35: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:18:07,161 INFO L290 TraceCheckUtils]: 34: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:18:07,161 INFO L290 TraceCheckUtils]: 33: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:18:07,161 INFO L272 TraceCheckUtils]: 32: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:18:07,162 INFO L290 TraceCheckUtils]: 31: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post7 < 50);havoc #t~post7; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:07,162 INFO L290 TraceCheckUtils]: 30: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:07,163 INFO L290 TraceCheckUtils]: 29: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:07,163 INFO L290 TraceCheckUtils]: 28: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:07,163 INFO L290 TraceCheckUtils]: 27: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:07,164 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2017#true} {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #84#return; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:07,164 INFO L290 TraceCheckUtils]: 25: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:18:07,164 INFO L290 TraceCheckUtils]: 24: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:18:07,164 INFO L290 TraceCheckUtils]: 23: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:18:07,164 INFO L272 TraceCheckUtils]: 22: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:18:07,165 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2017#true} {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #82#return; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:07,165 INFO L290 TraceCheckUtils]: 20: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:18:07,165 INFO L290 TraceCheckUtils]: 19: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:18:07,165 INFO L290 TraceCheckUtils]: 18: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:18:07,166 INFO L272 TraceCheckUtils]: 17: Hoare triple {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:18:07,166 INFO L290 TraceCheckUtils]: 16: Hoare triple {2017#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2157#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:18:07,166 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2017#true} {2017#true} #80#return; {2017#true} is VALID [2022-04-28 12:18:07,166 INFO L290 TraceCheckUtils]: 14: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:18:07,166 INFO L290 TraceCheckUtils]: 13: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:18:07,167 INFO L290 TraceCheckUtils]: 12: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:18:07,167 INFO L272 TraceCheckUtils]: 11: Hoare triple {2017#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:18:07,167 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2017#true} {2017#true} #78#return; {2017#true} is VALID [2022-04-28 12:18:07,167 INFO L290 TraceCheckUtils]: 9: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:18:07,167 INFO L290 TraceCheckUtils]: 8: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-04-28 12:18:07,167 INFO L290 TraceCheckUtils]: 7: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-04-28 12:18:07,167 INFO L272 TraceCheckUtils]: 6: Hoare triple {2017#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2017#true} is VALID [2022-04-28 12:18:07,167 INFO L290 TraceCheckUtils]: 5: Hoare triple {2017#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2017#true} is VALID [2022-04-28 12:18:07,167 INFO L272 TraceCheckUtils]: 4: Hoare triple {2017#true} call #t~ret8 := main(); {2017#true} is VALID [2022-04-28 12:18:07,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2017#true} {2017#true} #98#return; {2017#true} is VALID [2022-04-28 12:18:07,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-04-28 12:18:07,168 INFO L290 TraceCheckUtils]: 1: Hoare triple {2017#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2017#true} is VALID [2022-04-28 12:18:07,168 INFO L272 TraceCheckUtils]: 0: Hoare triple {2017#true} call ULTIMATE.init(); {2017#true} is VALID [2022-04-28 12:18:07,168 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:18:07,168 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:07,168 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1876234483] [2022-04-28 12:18:07,169 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:07,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2023523905] [2022-04-28 12:18:07,169 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2023523905] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:18:07,169 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:18:07,169 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 12:18:07,169 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:07,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [487219985] [2022-04-28 12:18:07,169 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [487219985] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:07,170 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:07,170 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:18:07,170 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [675902296] [2022-04-28 12:18:07,170 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:07,170 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, (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 41 [2022-04-28 12:18:07,170 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:07,171 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:18:07,198 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:07,198 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:18:07,199 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:07,199 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:18:07,199 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:18:07,199 INFO L87 Difference]: Start difference. First operand 46 states and 58 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:18:07,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:07,433 INFO L93 Difference]: Finished difference Result 61 states and 79 transitions. [2022-04-28 12:18:07,433 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:18:07,433 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, (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 41 [2022-04-28 12:18:07,433 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:07,433 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:18:07,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-28 12:18:07,435 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:18:07,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-28 12:18:07,436 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 67 transitions. [2022-04-28 12:18:07,492 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:07,493 INFO L225 Difference]: With dead ends: 61 [2022-04-28 12:18:07,493 INFO L226 Difference]: Without dead ends: 59 [2022-04-28 12:18:07,493 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:18:07,494 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 8 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 157 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:07,494 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 157 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:18:07,495 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-28 12:18:07,551 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 58. [2022-04-28 12:18:07,551 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:07,551 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:18:07,552 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:18:07,553 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:18:07,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:07,557 INFO L93 Difference]: Finished difference Result 59 states and 77 transitions. [2022-04-28 12:18:07,557 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 77 transitions. [2022-04-28 12:18:07,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:07,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:07,558 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 59 states. [2022-04-28 12:18:07,558 INFO L87 Difference]: Start difference. First operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 59 states. [2022-04-28 12:18:07,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:07,561 INFO L93 Difference]: Finished difference Result 59 states and 77 transitions. [2022-04-28 12:18:07,561 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 77 transitions. [2022-04-28 12:18:07,563 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:07,563 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:07,563 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:07,563 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:07,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:18:07,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 76 transitions. [2022-04-28 12:18:07,566 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 76 transitions. Word has length 41 [2022-04-28 12:18:07,566 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:07,566 INFO L495 AbstractCegarLoop]: Abstraction has 58 states and 76 transitions. [2022-04-28 12:18:07,566 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:18:07,566 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 58 states and 76 transitions. [2022-04-28 12:18:07,645 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:07,645 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 76 transitions. [2022-04-28 12:18:07,646 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 12:18:07,646 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:07,646 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:07,669 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 12:18:07,855 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:07,855 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:07,856 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:07,856 INFO L85 PathProgramCache]: Analyzing trace with hash 1531994984, now seen corresponding path program 1 times [2022-04-28 12:18:07,856 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:07,856 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [19496802] [2022-04-28 12:18:07,857 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:07,857 INFO L85 PathProgramCache]: Analyzing trace with hash 1531994984, now seen corresponding path program 2 times [2022-04-28 12:18:07,857 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:07,857 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1680183434] [2022-04-28 12:18:07,857 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:07,857 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:07,870 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:07,870 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1355288783] [2022-04-28 12:18:07,870 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:18:07,871 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:07,871 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:07,872 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:18:07,896 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 12:18:07,925 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:18:07,925 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:07,926 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:18:07,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:07,941 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:08,214 INFO L272 TraceCheckUtils]: 0: Hoare triple {2629#true} call ULTIMATE.init(); {2629#true} is VALID [2022-04-28 12:18:08,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {2629#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2629#true} is VALID [2022-04-28 12:18:08,214 INFO L290 TraceCheckUtils]: 2: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:18:08,214 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2629#true} {2629#true} #98#return; {2629#true} is VALID [2022-04-28 12:18:08,215 INFO L272 TraceCheckUtils]: 4: Hoare triple {2629#true} call #t~ret8 := main(); {2629#true} is VALID [2022-04-28 12:18:08,215 INFO L290 TraceCheckUtils]: 5: Hoare triple {2629#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2629#true} is VALID [2022-04-28 12:18:08,215 INFO L272 TraceCheckUtils]: 6: Hoare triple {2629#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:18:08,215 INFO L290 TraceCheckUtils]: 7: Hoare triple {2629#true} ~cond := #in~cond; {2655#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:18:08,216 INFO L290 TraceCheckUtils]: 8: Hoare triple {2655#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2659#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:08,216 INFO L290 TraceCheckUtils]: 9: Hoare triple {2659#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2659#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:08,217 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2659#(not (= |assume_abort_if_not_#in~cond| 0))} {2629#true} #78#return; {2666#(<= 1 main_~x~0)} is VALID [2022-04-28 12:18:08,217 INFO L272 TraceCheckUtils]: 11: Hoare triple {2666#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:18:08,217 INFO L290 TraceCheckUtils]: 12: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:18:08,217 INFO L290 TraceCheckUtils]: 13: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:18:08,217 INFO L290 TraceCheckUtils]: 14: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:18:08,217 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2629#true} {2666#(<= 1 main_~x~0)} #80#return; {2666#(<= 1 main_~x~0)} is VALID [2022-04-28 12:18:08,218 INFO L290 TraceCheckUtils]: 16: Hoare triple {2666#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:08,218 INFO L272 TraceCheckUtils]: 17: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:18:08,218 INFO L290 TraceCheckUtils]: 18: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:18:08,218 INFO L290 TraceCheckUtils]: 19: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:18:08,219 INFO L290 TraceCheckUtils]: 20: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:18:08,219 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2629#true} {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #82#return; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:08,219 INFO L272 TraceCheckUtils]: 22: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:18:08,219 INFO L290 TraceCheckUtils]: 23: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:18:08,220 INFO L290 TraceCheckUtils]: 24: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:18:08,220 INFO L290 TraceCheckUtils]: 25: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:18:08,220 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2629#true} {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #84#return; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:08,223 INFO L290 TraceCheckUtils]: 27: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:08,224 INFO L290 TraceCheckUtils]: 28: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:08,224 INFO L290 TraceCheckUtils]: 29: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:08,225 INFO L290 TraceCheckUtils]: 30: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:08,225 INFO L290 TraceCheckUtils]: 31: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post7 < 50);havoc #t~post7; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:08,225 INFO L272 TraceCheckUtils]: 32: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:18:08,225 INFO L290 TraceCheckUtils]: 33: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:18:08,226 INFO L290 TraceCheckUtils]: 34: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:18:08,226 INFO L290 TraceCheckUtils]: 35: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:18:08,226 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2629#true} {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #86#return; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:08,227 INFO L272 TraceCheckUtils]: 37: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:18:08,227 INFO L290 TraceCheckUtils]: 38: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:18:08,227 INFO L290 TraceCheckUtils]: 39: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:18:08,227 INFO L290 TraceCheckUtils]: 40: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:18:08,228 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2629#true} {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #88#return; {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:18:08,228 INFO L272 TraceCheckUtils]: 42: Hoare triple {2685#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2764#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:08,229 INFO L290 TraceCheckUtils]: 43: Hoare triple {2764#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2768#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:08,229 INFO L290 TraceCheckUtils]: 44: Hoare triple {2768#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2630#false} is VALID [2022-04-28 12:18:08,229 INFO L290 TraceCheckUtils]: 45: Hoare triple {2630#false} assume !false; {2630#false} is VALID [2022-04-28 12:18:08,230 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 12:18:08,230 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:18:08,445 INFO L290 TraceCheckUtils]: 45: Hoare triple {2630#false} assume !false; {2630#false} is VALID [2022-04-28 12:18:08,446 INFO L290 TraceCheckUtils]: 44: Hoare triple {2768#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2630#false} is VALID [2022-04-28 12:18:08,446 INFO L290 TraceCheckUtils]: 43: Hoare triple {2764#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2768#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:08,447 INFO L272 TraceCheckUtils]: 42: Hoare triple {2784#(= 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)); {2764#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:08,448 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2629#true} {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #88#return; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:18:08,448 INFO L290 TraceCheckUtils]: 40: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:18:08,448 INFO L290 TraceCheckUtils]: 39: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:18:08,448 INFO L290 TraceCheckUtils]: 38: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:18:08,448 INFO L272 TraceCheckUtils]: 37: Hoare triple {2784#(= 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)); {2629#true} is VALID [2022-04-28 12:18:08,449 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2629#true} {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #86#return; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:18:08,449 INFO L290 TraceCheckUtils]: 35: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:18:08,449 INFO L290 TraceCheckUtils]: 34: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:18:08,449 INFO L290 TraceCheckUtils]: 33: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:18:08,450 INFO L272 TraceCheckUtils]: 32: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:18:08,450 INFO L290 TraceCheckUtils]: 31: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post7 < 50);havoc #t~post7; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:18:08,451 INFO L290 TraceCheckUtils]: 30: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:18:08,451 INFO L290 TraceCheckUtils]: 29: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:18:08,452 INFO L290 TraceCheckUtils]: 28: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:18:08,453 INFO L290 TraceCheckUtils]: 27: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:18:08,455 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2629#true} {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #84#return; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:18:08,455 INFO L290 TraceCheckUtils]: 25: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:18:08,455 INFO L290 TraceCheckUtils]: 24: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:18:08,455 INFO L290 TraceCheckUtils]: 23: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:18:08,456 INFO L272 TraceCheckUtils]: 22: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:18:08,457 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2629#true} {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #82#return; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:18:08,457 INFO L290 TraceCheckUtils]: 20: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:18:08,457 INFO L290 TraceCheckUtils]: 19: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:18:08,457 INFO L290 TraceCheckUtils]: 18: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:18:08,457 INFO L272 TraceCheckUtils]: 17: Hoare triple {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:18:08,458 INFO L290 TraceCheckUtils]: 16: Hoare triple {2629#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2784#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:18:08,459 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2629#true} {2629#true} #80#return; {2629#true} is VALID [2022-04-28 12:18:08,459 INFO L290 TraceCheckUtils]: 14: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:18:08,459 INFO L290 TraceCheckUtils]: 13: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:18:08,459 INFO L290 TraceCheckUtils]: 12: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:18:08,459 INFO L272 TraceCheckUtils]: 11: Hoare triple {2629#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:18:08,459 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2629#true} {2629#true} #78#return; {2629#true} is VALID [2022-04-28 12:18:08,459 INFO L290 TraceCheckUtils]: 9: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:18:08,459 INFO L290 TraceCheckUtils]: 8: Hoare triple {2629#true} assume !(0 == ~cond); {2629#true} is VALID [2022-04-28 12:18:08,459 INFO L290 TraceCheckUtils]: 7: Hoare triple {2629#true} ~cond := #in~cond; {2629#true} is VALID [2022-04-28 12:18:08,460 INFO L272 TraceCheckUtils]: 6: Hoare triple {2629#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2629#true} is VALID [2022-04-28 12:18:08,460 INFO L290 TraceCheckUtils]: 5: Hoare triple {2629#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2629#true} is VALID [2022-04-28 12:18:08,460 INFO L272 TraceCheckUtils]: 4: Hoare triple {2629#true} call #t~ret8 := main(); {2629#true} is VALID [2022-04-28 12:18:08,460 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2629#true} {2629#true} #98#return; {2629#true} is VALID [2022-04-28 12:18:08,460 INFO L290 TraceCheckUtils]: 2: Hoare triple {2629#true} assume true; {2629#true} is VALID [2022-04-28 12:18:08,460 INFO L290 TraceCheckUtils]: 1: Hoare triple {2629#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2629#true} is VALID [2022-04-28 12:18:08,460 INFO L272 TraceCheckUtils]: 0: Hoare triple {2629#true} call ULTIMATE.init(); {2629#true} is VALID [2022-04-28 12:18:08,460 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 12:18:08,461 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:08,461 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1680183434] [2022-04-28 12:18:08,461 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:08,461 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1355288783] [2022-04-28 12:18:08,461 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1355288783] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:18:08,461 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:18:08,461 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-28 12:18:08,462 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:08,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [19496802] [2022-04-28 12:18:08,462 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [19496802] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:08,462 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:08,462 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:18:08,462 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1397078697] [2022-04-28 12:18:08,462 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:08,462 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, (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 46 [2022-04-28 12:18:08,463 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:08,463 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:18:08,487 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:08,487 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:18:08,487 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:08,488 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:18:08,488 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:18:08,488 INFO L87 Difference]: Start difference. First operand 58 states and 76 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:18:08,753 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:08,753 INFO L93 Difference]: Finished difference Result 65 states and 82 transitions. [2022-04-28 12:18:08,754 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:18:08,754 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, (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 46 [2022-04-28 12:18:08,754 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:08,754 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:18:08,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-28 12:18:08,755 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:18:08,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-28 12:18:08,757 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 67 transitions. [2022-04-28 12:18:08,815 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:08,817 INFO L225 Difference]: With dead ends: 65 [2022-04-28 12:18:08,817 INFO L226 Difference]: Without dead ends: 63 [2022-04-28 12:18:08,817 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 83 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:18:08,818 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:08,818 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 148 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:18:08,819 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-28 12:18:08,887 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 62. [2022-04-28 12:18:08,887 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:08,887 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:18:08,887 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:18:08,888 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:18:08,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:08,890 INFO L93 Difference]: Finished difference Result 63 states and 80 transitions. [2022-04-28 12:18:08,891 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 80 transitions. [2022-04-28 12:18:08,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:08,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:08,891 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 63 states. [2022-04-28 12:18:08,891 INFO L87 Difference]: Start difference. First operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 63 states. [2022-04-28 12:18:08,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:08,894 INFO L93 Difference]: Finished difference Result 63 states and 80 transitions. [2022-04-28 12:18:08,894 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 80 transitions. [2022-04-28 12:18:08,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:08,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:08,895 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:08,895 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:08,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:18:08,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 79 transitions. [2022-04-28 12:18:08,898 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 79 transitions. Word has length 46 [2022-04-28 12:18:08,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:08,899 INFO L495 AbstractCegarLoop]: Abstraction has 62 states and 79 transitions. [2022-04-28 12:18:08,899 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:18:08,899 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 62 states and 79 transitions. [2022-04-28 12:18:08,983 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:08,983 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 79 transitions. [2022-04-28 12:18:08,983 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 12:18:08,984 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:08,984 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:09,001 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 12:18:09,187 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:09,187 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:09,188 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:09,188 INFO L85 PathProgramCache]: Analyzing trace with hash -300711301, now seen corresponding path program 1 times [2022-04-28 12:18:09,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:09,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [912503273] [2022-04-28 12:18:09,188 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:09,188 INFO L85 PathProgramCache]: Analyzing trace with hash -300711301, now seen corresponding path program 2 times [2022-04-28 12:18:09,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:09,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [47656766] [2022-04-28 12:18:09,188 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:09,189 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:09,199 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:09,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [761019937] [2022-04-28 12:18:09,200 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:18:09,200 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:09,200 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:09,201 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:18:09,203 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 12:18:09,249 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:18:09,249 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:09,250 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 12:18:09,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:09,262 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:17,236 INFO L272 TraceCheckUtils]: 0: Hoare triple {3295#true} call ULTIMATE.init(); {3295#true} is VALID [2022-04-28 12:18:17,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {3295#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3295#true} is VALID [2022-04-28 12:18:17,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 12:18:17,237 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3295#true} {3295#true} #98#return; {3295#true} is VALID [2022-04-28 12:18:17,237 INFO L272 TraceCheckUtils]: 4: Hoare triple {3295#true} call #t~ret8 := main(); {3295#true} is VALID [2022-04-28 12:18:17,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {3295#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3295#true} is VALID [2022-04-28 12:18:17,237 INFO L272 TraceCheckUtils]: 6: Hoare triple {3295#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3295#true} is VALID [2022-04-28 12:18:17,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {3295#true} ~cond := #in~cond; {3295#true} is VALID [2022-04-28 12:18:17,237 INFO L290 TraceCheckUtils]: 8: Hoare triple {3295#true} assume !(0 == ~cond); {3295#true} is VALID [2022-04-28 12:18:17,238 INFO L290 TraceCheckUtils]: 9: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 12:18:17,238 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3295#true} {3295#true} #78#return; {3295#true} is VALID [2022-04-28 12:18:17,238 INFO L272 TraceCheckUtils]: 11: Hoare triple {3295#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3295#true} is VALID [2022-04-28 12:18:17,238 INFO L290 TraceCheckUtils]: 12: Hoare triple {3295#true} ~cond := #in~cond; {3295#true} is VALID [2022-04-28 12:18:17,238 INFO L290 TraceCheckUtils]: 13: Hoare triple {3295#true} assume !(0 == ~cond); {3295#true} is VALID [2022-04-28 12:18:17,238 INFO L290 TraceCheckUtils]: 14: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 12:18:17,238 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3295#true} {3295#true} #80#return; {3295#true} is VALID [2022-04-28 12:18:17,240 INFO L290 TraceCheckUtils]: 16: Hoare triple {3295#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:18:17,240 INFO L272 TraceCheckUtils]: 17: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3295#true} is VALID [2022-04-28 12:18:17,241 INFO L290 TraceCheckUtils]: 18: Hoare triple {3295#true} ~cond := #in~cond; {3295#true} is VALID [2022-04-28 12:18:17,241 INFO L290 TraceCheckUtils]: 19: Hoare triple {3295#true} assume !(0 == ~cond); {3295#true} is VALID [2022-04-28 12:18:17,241 INFO L290 TraceCheckUtils]: 20: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 12:18:17,241 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3295#true} {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #82#return; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:18:17,241 INFO L272 TraceCheckUtils]: 22: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3295#true} is VALID [2022-04-28 12:18:17,241 INFO L290 TraceCheckUtils]: 23: Hoare triple {3295#true} ~cond := #in~cond; {3295#true} is VALID [2022-04-28 12:18:17,242 INFO L290 TraceCheckUtils]: 24: Hoare triple {3295#true} assume !(0 == ~cond); {3295#true} is VALID [2022-04-28 12:18:17,242 INFO L290 TraceCheckUtils]: 25: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 12:18:17,242 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3295#true} {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #84#return; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:18:17,243 INFO L290 TraceCheckUtils]: 27: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:18:17,243 INFO L290 TraceCheckUtils]: 28: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:18:17,244 INFO L290 TraceCheckUtils]: 29: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:18:17,244 INFO L290 TraceCheckUtils]: 30: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:18:17,245 INFO L290 TraceCheckUtils]: 31: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !!(#t~post7 < 50);havoc #t~post7; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:18:17,245 INFO L272 TraceCheckUtils]: 32: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3295#true} is VALID [2022-04-28 12:18:17,245 INFO L290 TraceCheckUtils]: 33: Hoare triple {3295#true} ~cond := #in~cond; {3295#true} is VALID [2022-04-28 12:18:17,245 INFO L290 TraceCheckUtils]: 34: Hoare triple {3295#true} assume !(0 == ~cond); {3295#true} is VALID [2022-04-28 12:18:17,245 INFO L290 TraceCheckUtils]: 35: Hoare triple {3295#true} assume true; {3295#true} is VALID [2022-04-28 12:18:17,248 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3295#true} {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #86#return; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:18:17,249 INFO L272 TraceCheckUtils]: 37: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~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)); {3295#true} is VALID [2022-04-28 12:18:17,249 INFO L290 TraceCheckUtils]: 38: Hoare triple {3295#true} ~cond := #in~cond; {3415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:17,249 INFO L290 TraceCheckUtils]: 39: Hoare triple {3415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:17,250 INFO L290 TraceCheckUtils]: 40: Hoare triple {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:17,251 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #88#return; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:18:17,251 INFO L272 TraceCheckUtils]: 42: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~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)); {3295#true} is VALID [2022-04-28 12:18:17,251 INFO L290 TraceCheckUtils]: 43: Hoare triple {3295#true} ~cond := #in~cond; {3415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:17,251 INFO L290 TraceCheckUtils]: 44: Hoare triple {3415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:17,252 INFO L290 TraceCheckUtils]: 45: Hoare triple {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:18:17,252 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3419#(not (= |__VERIFIER_assert_#in~cond| 0))} {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #90#return; {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:18:17,254 INFO L272 TraceCheckUtils]: 47: Hoare triple {3348#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3444#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:17,254 INFO L290 TraceCheckUtils]: 48: Hoare triple {3444#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3448#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:17,254 INFO L290 TraceCheckUtils]: 49: Hoare triple {3448#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3296#false} is VALID [2022-04-28 12:18:17,254 INFO L290 TraceCheckUtils]: 50: Hoare triple {3296#false} assume !false; {3296#false} is VALID [2022-04-28 12:18:17,255 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 10 proven. 2 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-28 12:18:17,255 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:19:08,460 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:19:08,460 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [47656766] [2022-04-28 12:19:08,460 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:19:08,460 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [761019937] [2022-04-28 12:19:08,460 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [761019937] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:19:08,460 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:19:08,461 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2022-04-28 12:19:08,461 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:19:08,461 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [912503273] [2022-04-28 12:19:08,461 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [912503273] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:19:08,461 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:19:08,461 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:19:08,461 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1222170032] [2022-04-28 12:19:08,461 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:19:08,462 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-28 12:19:08,462 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:19:08,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:19:08,502 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:08,502 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:19:08,502 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:08,502 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:19:08,502 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:19:08,503 INFO L87 Difference]: Start difference. First operand 62 states and 79 transitions. Second operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:19:08,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:08,936 INFO L93 Difference]: Finished difference Result 69 states and 85 transitions. [2022-04-28 12:19:08,936 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:19:08,936 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-28 12:19:08,937 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:19:08,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:19:08,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 67 transitions. [2022-04-28 12:19:08,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:19:08,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 67 transitions. [2022-04-28 12:19:08,940 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 67 transitions. [2022-04-28 12:19:09,018 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:09,020 INFO L225 Difference]: With dead ends: 69 [2022-04-28 12:19:09,020 INFO L226 Difference]: Without dead ends: 67 [2022-04-28 12:19:09,020 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 47 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:19:09,021 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 12 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 128 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:19:09,021 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 160 Invalid, 128 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:19:09,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-28 12:19:09,093 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 66. [2022-04-28 12:19:09,094 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:19:09,094 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:19:09,094 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:19:09,094 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:19:09,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:09,097 INFO L93 Difference]: Finished difference Result 67 states and 83 transitions. [2022-04-28 12:19:09,097 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 83 transitions. [2022-04-28 12:19:09,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:09,097 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:09,098 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-28 12:19:09,098 INFO L87 Difference]: Start difference. First operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-28 12:19:09,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:09,101 INFO L93 Difference]: Finished difference Result 67 states and 83 transitions. [2022-04-28 12:19:09,101 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 83 transitions. [2022-04-28 12:19:09,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:09,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:09,101 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:19:09,101 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:19:09,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 40 states have (on average 1.2) internal successors, (48), 43 states have internal predecessors, (48), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:19:09,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 82 transitions. [2022-04-28 12:19:09,104 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 82 transitions. Word has length 51 [2022-04-28 12:19:09,104 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:19:09,104 INFO L495 AbstractCegarLoop]: Abstraction has 66 states and 82 transitions. [2022-04-28 12:19:09,105 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:19:09,105 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 82 transitions. [2022-04-28 12:19:09,194 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:09,194 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 82 transitions. [2022-04-28 12:19:09,195 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 12:19:09,195 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:19:09,195 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:19:09,216 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-28 12:19:09,411 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:19:09,412 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:19:09,412 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:19:09,412 INFO L85 PathProgramCache]: Analyzing trace with hash -2044027516, now seen corresponding path program 1 times [2022-04-28 12:19:09,412 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:09,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [343066889] [2022-04-28 12:19:09,412 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:19:09,413 INFO L85 PathProgramCache]: Analyzing trace with hash -2044027516, now seen corresponding path program 2 times [2022-04-28 12:19:09,413 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:19:09,413 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1487044790] [2022-04-28 12:19:09,413 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:19:09,413 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:19:09,425 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:19:09,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1937176882] [2022-04-28 12:19:09,426 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:19:09,426 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:19:09,426 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:19:09,427 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:19:09,442 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 12:19:09,484 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:19:09,484 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:19:09,485 INFO L263 TraceCheckSpWp]: Trace formula consists of 181 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:19:09,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:19:09,500 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:19:09,696 INFO L272 TraceCheckUtils]: 0: Hoare triple {3879#true} call ULTIMATE.init(); {3879#true} is VALID [2022-04-28 12:19:09,697 INFO L290 TraceCheckUtils]: 1: Hoare triple {3879#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3879#true} is VALID [2022-04-28 12:19:09,697 INFO L290 TraceCheckUtils]: 2: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:09,697 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3879#true} {3879#true} #98#return; {3879#true} is VALID [2022-04-28 12:19:09,697 INFO L272 TraceCheckUtils]: 4: Hoare triple {3879#true} call #t~ret8 := main(); {3879#true} is VALID [2022-04-28 12:19:09,697 INFO L290 TraceCheckUtils]: 5: Hoare triple {3879#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3879#true} is VALID [2022-04-28 12:19:09,697 INFO L272 TraceCheckUtils]: 6: Hoare triple {3879#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:19:09,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:19:09,698 INFO L290 TraceCheckUtils]: 8: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:19:09,698 INFO L290 TraceCheckUtils]: 9: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:09,698 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3879#true} {3879#true} #78#return; {3879#true} is VALID [2022-04-28 12:19:09,698 INFO L272 TraceCheckUtils]: 11: Hoare triple {3879#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:19:09,698 INFO L290 TraceCheckUtils]: 12: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:19:09,698 INFO L290 TraceCheckUtils]: 13: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:19:09,698 INFO L290 TraceCheckUtils]: 14: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:09,698 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3879#true} {3879#true} #80#return; {3879#true} is VALID [2022-04-28 12:19:09,699 INFO L290 TraceCheckUtils]: 16: Hoare triple {3879#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3879#true} is VALID [2022-04-28 12:19:09,699 INFO L272 TraceCheckUtils]: 17: Hoare triple {3879#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:19:09,699 INFO L290 TraceCheckUtils]: 18: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:19:09,699 INFO L290 TraceCheckUtils]: 19: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:19:09,699 INFO L290 TraceCheckUtils]: 20: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:09,699 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3879#true} {3879#true} #82#return; {3879#true} is VALID [2022-04-28 12:19:09,699 INFO L272 TraceCheckUtils]: 22: Hoare triple {3879#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:19:09,699 INFO L290 TraceCheckUtils]: 23: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:19:09,699 INFO L290 TraceCheckUtils]: 24: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:19:09,699 INFO L290 TraceCheckUtils]: 25: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:09,700 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3879#true} {3879#true} #84#return; {3879#true} is VALID [2022-04-28 12:19:09,700 INFO L290 TraceCheckUtils]: 27: Hoare triple {3879#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3879#true} is VALID [2022-04-28 12:19:09,700 INFO L290 TraceCheckUtils]: 28: Hoare triple {3879#true} assume !!(#t~post6 < 50);havoc #t~post6; {3879#true} is VALID [2022-04-28 12:19:09,700 INFO L290 TraceCheckUtils]: 29: Hoare triple {3879#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:19:09,701 INFO L290 TraceCheckUtils]: 30: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:19:09,701 INFO L290 TraceCheckUtils]: 31: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(#t~post7 < 50);havoc #t~post7; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:19:09,701 INFO L272 TraceCheckUtils]: 32: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:19:09,701 INFO L290 TraceCheckUtils]: 33: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:19:09,701 INFO L290 TraceCheckUtils]: 34: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:19:09,702 INFO L290 TraceCheckUtils]: 35: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:09,702 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #86#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:19:09,702 INFO L272 TraceCheckUtils]: 37: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:19:09,702 INFO L290 TraceCheckUtils]: 38: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:19:09,702 INFO L290 TraceCheckUtils]: 39: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:19:09,703 INFO L290 TraceCheckUtils]: 40: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:09,703 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #88#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:19:09,703 INFO L272 TraceCheckUtils]: 42: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:19:09,703 INFO L290 TraceCheckUtils]: 43: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:19:09,704 INFO L290 TraceCheckUtils]: 44: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:19:09,704 INFO L290 TraceCheckUtils]: 45: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:09,704 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #90#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:19:09,704 INFO L272 TraceCheckUtils]: 47: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:19:09,705 INFO L290 TraceCheckUtils]: 48: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:19:09,705 INFO L290 TraceCheckUtils]: 49: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:19:09,705 INFO L290 TraceCheckUtils]: 50: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:09,706 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #92#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:19:09,706 INFO L290 TraceCheckUtils]: 52: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} is VALID [2022-04-28 12:19:09,707 INFO L290 TraceCheckUtils]: 53: Hoare triple {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} is VALID [2022-04-28 12:19:09,707 INFO L290 TraceCheckUtils]: 54: Hoare triple {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} is VALID [2022-04-28 12:19:09,708 INFO L272 TraceCheckUtils]: 55: Hoare triple {4041#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4051#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:19:09,708 INFO L290 TraceCheckUtils]: 56: Hoare triple {4051#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4055#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:19:09,709 INFO L290 TraceCheckUtils]: 57: Hoare triple {4055#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3880#false} is VALID [2022-04-28 12:19:09,709 INFO L290 TraceCheckUtils]: 58: Hoare triple {3880#false} assume !false; {3880#false} is VALID [2022-04-28 12:19:09,709 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:19:09,709 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:19:31,894 INFO L290 TraceCheckUtils]: 58: Hoare triple {3880#false} assume !false; {3880#false} is VALID [2022-04-28 12:19:31,895 INFO L290 TraceCheckUtils]: 57: Hoare triple {4055#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3880#false} is VALID [2022-04-28 12:19:31,895 INFO L290 TraceCheckUtils]: 56: Hoare triple {4051#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4055#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:19:31,896 INFO L272 TraceCheckUtils]: 55: Hoare triple {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4051#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:19:31,896 INFO L290 TraceCheckUtils]: 54: Hoare triple {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(#t~post7 < 50);havoc #t~post7; {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:19:31,897 INFO L290 TraceCheckUtils]: 53: Hoare triple {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:19:31,898 INFO L290 TraceCheckUtils]: 52: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {4071#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:19:31,899 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #92#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:19:31,899 INFO L290 TraceCheckUtils]: 50: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:31,899 INFO L290 TraceCheckUtils]: 49: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:19:31,899 INFO L290 TraceCheckUtils]: 48: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:19:31,899 INFO L272 TraceCheckUtils]: 47: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:19:31,900 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #90#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:19:31,900 INFO L290 TraceCheckUtils]: 45: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:31,900 INFO L290 TraceCheckUtils]: 44: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:19:31,900 INFO L290 TraceCheckUtils]: 43: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:19:31,900 INFO L272 TraceCheckUtils]: 42: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:19:31,901 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #88#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:19:31,901 INFO L290 TraceCheckUtils]: 40: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:31,901 INFO L290 TraceCheckUtils]: 39: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:19:31,901 INFO L290 TraceCheckUtils]: 38: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:19:31,901 INFO L272 TraceCheckUtils]: 37: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:19:31,902 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3879#true} {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #86#return; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:19:31,902 INFO L290 TraceCheckUtils]: 35: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:31,902 INFO L290 TraceCheckUtils]: 34: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:19:31,902 INFO L290 TraceCheckUtils]: 33: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:19:31,902 INFO L272 TraceCheckUtils]: 32: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:19:31,903 INFO L290 TraceCheckUtils]: 31: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(#t~post7 < 50);havoc #t~post7; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:19:31,903 INFO L290 TraceCheckUtils]: 30: Hoare triple {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:19:31,903 INFO L290 TraceCheckUtils]: 29: Hoare triple {3879#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3971#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:19:31,904 INFO L290 TraceCheckUtils]: 28: Hoare triple {3879#true} assume !!(#t~post6 < 50);havoc #t~post6; {3879#true} is VALID [2022-04-28 12:19:31,904 INFO L290 TraceCheckUtils]: 27: Hoare triple {3879#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3879#true} is VALID [2022-04-28 12:19:31,904 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3879#true} {3879#true} #84#return; {3879#true} is VALID [2022-04-28 12:19:31,904 INFO L290 TraceCheckUtils]: 25: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:31,904 INFO L290 TraceCheckUtils]: 24: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:19:31,904 INFO L290 TraceCheckUtils]: 23: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:19:31,904 INFO L272 TraceCheckUtils]: 22: Hoare triple {3879#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:19:31,904 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3879#true} {3879#true} #82#return; {3879#true} is VALID [2022-04-28 12:19:31,904 INFO L290 TraceCheckUtils]: 20: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:31,904 INFO L290 TraceCheckUtils]: 19: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:19:31,905 INFO L290 TraceCheckUtils]: 18: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:19:31,905 INFO L272 TraceCheckUtils]: 17: Hoare triple {3879#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:19:31,905 INFO L290 TraceCheckUtils]: 16: Hoare triple {3879#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3879#true} is VALID [2022-04-28 12:19:31,905 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3879#true} {3879#true} #80#return; {3879#true} is VALID [2022-04-28 12:19:31,905 INFO L290 TraceCheckUtils]: 14: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:31,905 INFO L290 TraceCheckUtils]: 13: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:19:31,905 INFO L290 TraceCheckUtils]: 12: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:19:31,905 INFO L272 TraceCheckUtils]: 11: Hoare triple {3879#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:19:31,905 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3879#true} {3879#true} #78#return; {3879#true} is VALID [2022-04-28 12:19:31,905 INFO L290 TraceCheckUtils]: 9: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:31,906 INFO L290 TraceCheckUtils]: 8: Hoare triple {3879#true} assume !(0 == ~cond); {3879#true} is VALID [2022-04-28 12:19:31,906 INFO L290 TraceCheckUtils]: 7: Hoare triple {3879#true} ~cond := #in~cond; {3879#true} is VALID [2022-04-28 12:19:31,906 INFO L272 TraceCheckUtils]: 6: Hoare triple {3879#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3879#true} is VALID [2022-04-28 12:19:31,906 INFO L290 TraceCheckUtils]: 5: Hoare triple {3879#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3879#true} is VALID [2022-04-28 12:19:31,906 INFO L272 TraceCheckUtils]: 4: Hoare triple {3879#true} call #t~ret8 := main(); {3879#true} is VALID [2022-04-28 12:19:31,906 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3879#true} {3879#true} #98#return; {3879#true} is VALID [2022-04-28 12:19:31,906 INFO L290 TraceCheckUtils]: 2: Hoare triple {3879#true} assume true; {3879#true} is VALID [2022-04-28 12:19:31,906 INFO L290 TraceCheckUtils]: 1: Hoare triple {3879#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3879#true} is VALID [2022-04-28 12:19:31,906 INFO L272 TraceCheckUtils]: 0: Hoare triple {3879#true} call ULTIMATE.init(); {3879#true} is VALID [2022-04-28 12:19:31,907 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:19:31,907 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:19:31,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1487044790] [2022-04-28 12:19:31,907 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:19:31,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1937176882] [2022-04-28 12:19:31,907 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1937176882] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:19:31,907 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:19:31,907 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-28 12:19:31,910 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:19:31,910 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [343066889] [2022-04-28 12:19:31,910 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [343066889] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:19:31,910 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:19:31,910 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:19:31,910 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [786481322] [2022-04-28 12:19:31,910 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:19:31,911 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 59 [2022-04-28 12:19:31,911 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:19:31,911 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:19:31,947 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:31,948 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:19:31,948 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:31,948 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:19:31,948 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 12:19:31,949 INFO L87 Difference]: Start difference. First operand 66 states and 82 transitions. Second operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:19:32,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:32,290 INFO L93 Difference]: Finished difference Result 96 states and 131 transitions. [2022-04-28 12:19:32,290 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:19:32,290 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 59 [2022-04-28 12:19:32,290 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:19:32,290 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:19:32,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 78 transitions. [2022-04-28 12:19:32,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:19:32,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 78 transitions. [2022-04-28 12:19:32,293 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 78 transitions. [2022-04-28 12:19:32,356 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:32,358 INFO L225 Difference]: With dead ends: 96 [2022-04-28 12:19:32,358 INFO L226 Difference]: Without dead ends: 94 [2022-04-28 12:19:32,359 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 118 GetRequests, 110 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:19:32,361 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 9 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 88 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 208 SdHoareTripleChecker+Invalid, 89 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 88 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:19:32,361 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 208 Invalid, 89 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 88 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:19:32,362 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-28 12:19:32,438 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 84. [2022-04-28 12:19:32,438 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:19:32,439 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:19:32,439 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:19:32,439 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:19:32,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:32,443 INFO L93 Difference]: Finished difference Result 94 states and 129 transitions. [2022-04-28 12:19:32,443 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 129 transitions. [2022-04-28 12:19:32,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:32,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:32,444 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 94 states. [2022-04-28 12:19:32,444 INFO L87 Difference]: Start difference. First operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 94 states. [2022-04-28 12:19:32,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:32,448 INFO L93 Difference]: Finished difference Result 94 states and 129 transitions. [2022-04-28 12:19:32,448 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 129 transitions. [2022-04-28 12:19:32,448 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:32,448 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:32,448 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:19:32,448 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:19:32,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 52 states have internal predecessors, (61), 26 states have call successors, (26), 9 states have call predecessors, (26), 8 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:19:32,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 111 transitions. [2022-04-28 12:19:32,453 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 111 transitions. Word has length 59 [2022-04-28 12:19:32,453 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:19:32,453 INFO L495 AbstractCegarLoop]: Abstraction has 84 states and 111 transitions. [2022-04-28 12:19:32,453 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:19:32,453 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 111 transitions. [2022-04-28 12:19:32,601 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:32,602 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 111 transitions. [2022-04-28 12:19:32,602 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-28 12:19:32,602 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:19:32,602 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:19:32,624 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 12:19:32,803 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 12:19:32,803 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:19:32,803 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:19:32,803 INFO L85 PathProgramCache]: Analyzing trace with hash 35160305, now seen corresponding path program 1 times [2022-04-28 12:19:32,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:32,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1153849041] [2022-04-28 12:19:32,804 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:19:32,804 INFO L85 PathProgramCache]: Analyzing trace with hash 35160305, now seen corresponding path program 2 times [2022-04-28 12:19:32,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:19:32,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [309433997] [2022-04-28 12:19:32,804 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:19:32,804 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:19:32,819 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:19:32,819 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1952749173] [2022-04-28 12:19:32,819 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:19:32,819 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:19:32,819 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:19:32,822 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:19:32,847 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 12:19:32,874 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:19:32,875 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:19:32,875 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:19:32,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:19:32,890 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:19:33,164 INFO L272 TraceCheckUtils]: 0: Hoare triple {4789#true} call ULTIMATE.init(); {4789#true} is VALID [2022-04-28 12:19:33,165 INFO L290 TraceCheckUtils]: 1: Hoare triple {4789#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,165 INFO L290 TraceCheckUtils]: 2: Hoare triple {4797#(<= ~counter~0 0)} assume true; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,165 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4797#(<= ~counter~0 0)} {4789#true} #98#return; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,166 INFO L272 TraceCheckUtils]: 4: Hoare triple {4797#(<= ~counter~0 0)} call #t~ret8 := main(); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,166 INFO L290 TraceCheckUtils]: 5: Hoare triple {4797#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,167 INFO L272 TraceCheckUtils]: 6: Hoare triple {4797#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,167 INFO L290 TraceCheckUtils]: 7: Hoare triple {4797#(<= ~counter~0 0)} ~cond := #in~cond; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,167 INFO L290 TraceCheckUtils]: 8: Hoare triple {4797#(<= ~counter~0 0)} assume !(0 == ~cond); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,168 INFO L290 TraceCheckUtils]: 9: Hoare triple {4797#(<= ~counter~0 0)} assume true; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,168 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4797#(<= ~counter~0 0)} {4797#(<= ~counter~0 0)} #78#return; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,168 INFO L272 TraceCheckUtils]: 11: Hoare triple {4797#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,169 INFO L290 TraceCheckUtils]: 12: Hoare triple {4797#(<= ~counter~0 0)} ~cond := #in~cond; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,169 INFO L290 TraceCheckUtils]: 13: Hoare triple {4797#(<= ~counter~0 0)} assume !(0 == ~cond); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,169 INFO L290 TraceCheckUtils]: 14: Hoare triple {4797#(<= ~counter~0 0)} assume true; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,170 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4797#(<= ~counter~0 0)} {4797#(<= ~counter~0 0)} #80#return; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,170 INFO L290 TraceCheckUtils]: 16: Hoare triple {4797#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,170 INFO L272 TraceCheckUtils]: 17: Hoare triple {4797#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,171 INFO L290 TraceCheckUtils]: 18: Hoare triple {4797#(<= ~counter~0 0)} ~cond := #in~cond; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,171 INFO L290 TraceCheckUtils]: 19: Hoare triple {4797#(<= ~counter~0 0)} assume !(0 == ~cond); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,171 INFO L290 TraceCheckUtils]: 20: Hoare triple {4797#(<= ~counter~0 0)} assume true; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,172 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4797#(<= ~counter~0 0)} {4797#(<= ~counter~0 0)} #82#return; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,172 INFO L272 TraceCheckUtils]: 22: Hoare triple {4797#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,173 INFO L290 TraceCheckUtils]: 23: Hoare triple {4797#(<= ~counter~0 0)} ~cond := #in~cond; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,173 INFO L290 TraceCheckUtils]: 24: Hoare triple {4797#(<= ~counter~0 0)} assume !(0 == ~cond); {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,173 INFO L290 TraceCheckUtils]: 25: Hoare triple {4797#(<= ~counter~0 0)} assume true; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,174 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4797#(<= ~counter~0 0)} {4797#(<= ~counter~0 0)} #84#return; {4797#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:33,174 INFO L290 TraceCheckUtils]: 27: Hoare triple {4797#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4876#(<= ~counter~0 1)} is VALID [2022-04-28 12:19:33,174 INFO L290 TraceCheckUtils]: 28: Hoare triple {4876#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {4876#(<= ~counter~0 1)} is VALID [2022-04-28 12:19:33,175 INFO L290 TraceCheckUtils]: 29: Hoare triple {4876#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4876#(<= ~counter~0 1)} is VALID [2022-04-28 12:19:33,175 INFO L290 TraceCheckUtils]: 30: Hoare triple {4876#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,176 INFO L290 TraceCheckUtils]: 31: Hoare triple {4886#(<= ~counter~0 2)} assume !!(#t~post7 < 50);havoc #t~post7; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,176 INFO L272 TraceCheckUtils]: 32: Hoare triple {4886#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,176 INFO L290 TraceCheckUtils]: 33: Hoare triple {4886#(<= ~counter~0 2)} ~cond := #in~cond; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,177 INFO L290 TraceCheckUtils]: 34: Hoare triple {4886#(<= ~counter~0 2)} assume !(0 == ~cond); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,177 INFO L290 TraceCheckUtils]: 35: Hoare triple {4886#(<= ~counter~0 2)} assume true; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,178 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4886#(<= ~counter~0 2)} {4886#(<= ~counter~0 2)} #86#return; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,178 INFO L272 TraceCheckUtils]: 37: Hoare triple {4886#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,178 INFO L290 TraceCheckUtils]: 38: Hoare triple {4886#(<= ~counter~0 2)} ~cond := #in~cond; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,179 INFO L290 TraceCheckUtils]: 39: Hoare triple {4886#(<= ~counter~0 2)} assume !(0 == ~cond); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,179 INFO L290 TraceCheckUtils]: 40: Hoare triple {4886#(<= ~counter~0 2)} assume true; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,180 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4886#(<= ~counter~0 2)} {4886#(<= ~counter~0 2)} #88#return; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,180 INFO L272 TraceCheckUtils]: 42: Hoare triple {4886#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,180 INFO L290 TraceCheckUtils]: 43: Hoare triple {4886#(<= ~counter~0 2)} ~cond := #in~cond; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,181 INFO L290 TraceCheckUtils]: 44: Hoare triple {4886#(<= ~counter~0 2)} assume !(0 == ~cond); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,181 INFO L290 TraceCheckUtils]: 45: Hoare triple {4886#(<= ~counter~0 2)} assume true; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,182 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4886#(<= ~counter~0 2)} {4886#(<= ~counter~0 2)} #90#return; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,182 INFO L272 TraceCheckUtils]: 47: Hoare triple {4886#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,182 INFO L290 TraceCheckUtils]: 48: Hoare triple {4886#(<= ~counter~0 2)} ~cond := #in~cond; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,183 INFO L290 TraceCheckUtils]: 49: Hoare triple {4886#(<= ~counter~0 2)} assume !(0 == ~cond); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,183 INFO L290 TraceCheckUtils]: 50: Hoare triple {4886#(<= ~counter~0 2)} assume true; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,184 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4886#(<= ~counter~0 2)} {4886#(<= ~counter~0 2)} #92#return; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,184 INFO L290 TraceCheckUtils]: 52: Hoare triple {4886#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,184 INFO L290 TraceCheckUtils]: 53: Hoare triple {4886#(<= ~counter~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4886#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:33,185 INFO L290 TraceCheckUtils]: 54: Hoare triple {4886#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4959#(<= |main_#t~post6| 2)} is VALID [2022-04-28 12:19:33,185 INFO L290 TraceCheckUtils]: 55: Hoare triple {4959#(<= |main_#t~post6| 2)} assume !(#t~post6 < 50);havoc #t~post6; {4790#false} is VALID [2022-04-28 12:19:33,185 INFO L272 TraceCheckUtils]: 56: Hoare triple {4790#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {4790#false} is VALID [2022-04-28 12:19:33,185 INFO L290 TraceCheckUtils]: 57: Hoare triple {4790#false} ~cond := #in~cond; {4790#false} is VALID [2022-04-28 12:19:33,185 INFO L290 TraceCheckUtils]: 58: Hoare triple {4790#false} assume 0 == ~cond; {4790#false} is VALID [2022-04-28 12:19:33,186 INFO L290 TraceCheckUtils]: 59: Hoare triple {4790#false} assume !false; {4790#false} is VALID [2022-04-28 12:19:33,186 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:19:33,186 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:19:33,414 INFO L290 TraceCheckUtils]: 59: Hoare triple {4790#false} assume !false; {4790#false} is VALID [2022-04-28 12:19:33,414 INFO L290 TraceCheckUtils]: 58: Hoare triple {4790#false} assume 0 == ~cond; {4790#false} is VALID [2022-04-28 12:19:33,414 INFO L290 TraceCheckUtils]: 57: Hoare triple {4790#false} ~cond := #in~cond; {4790#false} is VALID [2022-04-28 12:19:33,414 INFO L272 TraceCheckUtils]: 56: Hoare triple {4790#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {4790#false} is VALID [2022-04-28 12:19:33,414 INFO L290 TraceCheckUtils]: 55: Hoare triple {4987#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {4790#false} is VALID [2022-04-28 12:19:33,415 INFO L290 TraceCheckUtils]: 54: Hoare triple {4991#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4987#(< |main_#t~post6| 50)} is VALID [2022-04-28 12:19:33,415 INFO L290 TraceCheckUtils]: 53: Hoare triple {4991#(< ~counter~0 50)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4991#(< ~counter~0 50)} is VALID [2022-04-28 12:19:33,415 INFO L290 TraceCheckUtils]: 52: Hoare triple {4991#(< ~counter~0 50)} assume !(~c~0 >= ~b~0); {4991#(< ~counter~0 50)} is VALID [2022-04-28 12:19:33,416 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4789#true} {4991#(< ~counter~0 50)} #92#return; {4991#(< ~counter~0 50)} is VALID [2022-04-28 12:19:33,416 INFO L290 TraceCheckUtils]: 50: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 12:19:33,416 INFO L290 TraceCheckUtils]: 49: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 12:19:33,416 INFO L290 TraceCheckUtils]: 48: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 12:19:33,416 INFO L272 TraceCheckUtils]: 47: Hoare triple {4991#(< ~counter~0 50)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4789#true} is VALID [2022-04-28 12:19:33,417 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4789#true} {4991#(< ~counter~0 50)} #90#return; {4991#(< ~counter~0 50)} is VALID [2022-04-28 12:19:33,417 INFO L290 TraceCheckUtils]: 45: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 12:19:33,417 INFO L290 TraceCheckUtils]: 44: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 12:19:33,417 INFO L290 TraceCheckUtils]: 43: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 12:19:33,417 INFO L272 TraceCheckUtils]: 42: Hoare triple {4991#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4789#true} is VALID [2022-04-28 12:19:33,419 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4789#true} {4991#(< ~counter~0 50)} #88#return; {4991#(< ~counter~0 50)} is VALID [2022-04-28 12:19:33,420 INFO L290 TraceCheckUtils]: 40: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 12:19:33,420 INFO L290 TraceCheckUtils]: 39: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 12:19:33,420 INFO L290 TraceCheckUtils]: 38: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 12:19:33,420 INFO L272 TraceCheckUtils]: 37: Hoare triple {4991#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4789#true} is VALID [2022-04-28 12:19:33,421 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4789#true} {4991#(< ~counter~0 50)} #86#return; {4991#(< ~counter~0 50)} is VALID [2022-04-28 12:19:33,421 INFO L290 TraceCheckUtils]: 35: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 12:19:33,421 INFO L290 TraceCheckUtils]: 34: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 12:19:33,421 INFO L290 TraceCheckUtils]: 33: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 12:19:33,421 INFO L272 TraceCheckUtils]: 32: Hoare triple {4991#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4789#true} is VALID [2022-04-28 12:19:33,421 INFO L290 TraceCheckUtils]: 31: Hoare triple {4991#(< ~counter~0 50)} assume !!(#t~post7 < 50);havoc #t~post7; {4991#(< ~counter~0 50)} is VALID [2022-04-28 12:19:33,422 INFO L290 TraceCheckUtils]: 30: Hoare triple {5064#(< ~counter~0 49)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4991#(< ~counter~0 50)} is VALID [2022-04-28 12:19:33,422 INFO L290 TraceCheckUtils]: 29: Hoare triple {5064#(< ~counter~0 49)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5064#(< ~counter~0 49)} is VALID [2022-04-28 12:19:33,423 INFO L290 TraceCheckUtils]: 28: Hoare triple {5064#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {5064#(< ~counter~0 49)} is VALID [2022-04-28 12:19:33,423 INFO L290 TraceCheckUtils]: 27: Hoare triple {5074#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5064#(< ~counter~0 49)} is VALID [2022-04-28 12:19:33,424 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4789#true} {5074#(< ~counter~0 48)} #84#return; {5074#(< ~counter~0 48)} is VALID [2022-04-28 12:19:33,424 INFO L290 TraceCheckUtils]: 25: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 12:19:33,424 INFO L290 TraceCheckUtils]: 24: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 12:19:33,424 INFO L290 TraceCheckUtils]: 23: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 12:19:33,424 INFO L272 TraceCheckUtils]: 22: Hoare triple {5074#(< ~counter~0 48)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4789#true} is VALID [2022-04-28 12:19:33,425 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4789#true} {5074#(< ~counter~0 48)} #82#return; {5074#(< ~counter~0 48)} is VALID [2022-04-28 12:19:33,425 INFO L290 TraceCheckUtils]: 20: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 12:19:33,425 INFO L290 TraceCheckUtils]: 19: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 12:19:33,425 INFO L290 TraceCheckUtils]: 18: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 12:19:33,425 INFO L272 TraceCheckUtils]: 17: Hoare triple {5074#(< ~counter~0 48)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4789#true} is VALID [2022-04-28 12:19:33,426 INFO L290 TraceCheckUtils]: 16: Hoare triple {5074#(< ~counter~0 48)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {5074#(< ~counter~0 48)} is VALID [2022-04-28 12:19:33,426 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4789#true} {5074#(< ~counter~0 48)} #80#return; {5074#(< ~counter~0 48)} is VALID [2022-04-28 12:19:33,426 INFO L290 TraceCheckUtils]: 14: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 12:19:33,426 INFO L290 TraceCheckUtils]: 13: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 12:19:33,426 INFO L290 TraceCheckUtils]: 12: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 12:19:33,427 INFO L272 TraceCheckUtils]: 11: Hoare triple {5074#(< ~counter~0 48)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4789#true} is VALID [2022-04-28 12:19:33,427 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4789#true} {5074#(< ~counter~0 48)} #78#return; {5074#(< ~counter~0 48)} is VALID [2022-04-28 12:19:33,427 INFO L290 TraceCheckUtils]: 9: Hoare triple {4789#true} assume true; {4789#true} is VALID [2022-04-28 12:19:33,427 INFO L290 TraceCheckUtils]: 8: Hoare triple {4789#true} assume !(0 == ~cond); {4789#true} is VALID [2022-04-28 12:19:33,427 INFO L290 TraceCheckUtils]: 7: Hoare triple {4789#true} ~cond := #in~cond; {4789#true} is VALID [2022-04-28 12:19:33,427 INFO L272 TraceCheckUtils]: 6: Hoare triple {5074#(< ~counter~0 48)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4789#true} is VALID [2022-04-28 12:19:33,428 INFO L290 TraceCheckUtils]: 5: Hoare triple {5074#(< ~counter~0 48)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5074#(< ~counter~0 48)} is VALID [2022-04-28 12:19:33,428 INFO L272 TraceCheckUtils]: 4: Hoare triple {5074#(< ~counter~0 48)} call #t~ret8 := main(); {5074#(< ~counter~0 48)} is VALID [2022-04-28 12:19:33,429 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5074#(< ~counter~0 48)} {4789#true} #98#return; {5074#(< ~counter~0 48)} is VALID [2022-04-28 12:19:33,429 INFO L290 TraceCheckUtils]: 2: Hoare triple {5074#(< ~counter~0 48)} assume true; {5074#(< ~counter~0 48)} is VALID [2022-04-28 12:19:33,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {4789#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5074#(< ~counter~0 48)} is VALID [2022-04-28 12:19:33,430 INFO L272 TraceCheckUtils]: 0: Hoare triple {4789#true} call ULTIMATE.init(); {4789#true} is VALID [2022-04-28 12:19:33,430 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:19:33,430 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:19:33,430 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [309433997] [2022-04-28 12:19:33,430 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:19:33,430 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1952749173] [2022-04-28 12:19:33,430 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1952749173] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:19:33,430 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:19:33,431 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 12:19:33,431 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:19:33,431 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1153849041] [2022-04-28 12:19:33,431 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1153849041] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:19:33,431 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:19:33,431 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:19:33,431 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1002377989] [2022-04-28 12:19:33,431 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:19:33,432 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 60 [2022-04-28 12:19:33,432 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:19:33,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:19:33,463 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:33,463 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:19:33,464 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:33,464 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:19:33,464 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:19:33,464 INFO L87 Difference]: Start difference. First operand 84 states and 111 transitions. Second operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:19:33,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:33,712 INFO L93 Difference]: Finished difference Result 111 states and 135 transitions. [2022-04-28 12:19:33,712 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:19:33,712 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 60 [2022-04-28 12:19:33,712 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:19:33,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:19:33,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 76 transitions. [2022-04-28 12:19:33,714 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:19:33,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 76 transitions. [2022-04-28 12:19:33,716 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 76 transitions. [2022-04-28 12:19:33,778 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:33,780 INFO L225 Difference]: With dead ends: 111 [2022-04-28 12:19:33,780 INFO L226 Difference]: Without dead ends: 103 [2022-04-28 12:19:33,780 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 111 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=42, Invalid=68, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:19:33,781 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 8 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:19:33,781 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 138 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:19:33,781 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-28 12:19:33,898 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-28 12:19:33,898 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:19:33,900 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:19:33,902 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:19:33,903 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:19:33,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:33,908 INFO L93 Difference]: Finished difference Result 103 states and 126 transitions. [2022-04-28 12:19:33,908 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 126 transitions. [2022-04-28 12:19:33,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:33,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:33,909 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 103 states. [2022-04-28 12:19:33,909 INFO L87 Difference]: Start difference. First operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 103 states. [2022-04-28 12:19:33,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:33,913 INFO L93 Difference]: Finished difference Result 103 states and 126 transitions. [2022-04-28 12:19:33,913 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 126 transitions. [2022-04-28 12:19:33,914 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:33,914 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:33,914 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:19:33,914 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:19:33,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 64 states have (on average 1.1875) internal successors, (76), 67 states have internal predecessors, (76), 26 states have call successors, (26), 13 states have call predecessors, (26), 12 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:19:33,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 126 transitions. [2022-04-28 12:19:33,918 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 126 transitions. Word has length 60 [2022-04-28 12:19:33,918 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:19:33,918 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 126 transitions. [2022-04-28 12:19:33,918 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:19:33,919 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 126 transitions. [2022-04-28 12:19:34,088 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:34,088 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 126 transitions. [2022-04-28 12:19:34,089 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 12:19:34,089 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:19:34,089 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:19:34,113 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 12:19:34,289 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 12:19:34,290 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:19:34,290 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:19:34,290 INFO L85 PathProgramCache]: Analyzing trace with hash 1088000375, now seen corresponding path program 1 times [2022-04-28 12:19:34,290 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:34,290 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [971986057] [2022-04-28 12:19:34,291 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:19:34,291 INFO L85 PathProgramCache]: Analyzing trace with hash 1088000375, now seen corresponding path program 2 times [2022-04-28 12:19:34,291 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:19:34,291 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [442469907] [2022-04-28 12:19:34,291 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:19:34,291 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:19:34,303 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:19:34,303 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1719582991] [2022-04-28 12:19:34,303 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:19:34,303 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:19:34,303 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:19:34,305 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:19:34,313 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 12:19:34,352 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:19:34,353 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:19:34,353 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:19:34,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:19:34,365 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:19:34,561 INFO L272 TraceCheckUtils]: 0: Hoare triple {5794#true} call ULTIMATE.init(); {5794#true} is VALID [2022-04-28 12:19:34,562 INFO L290 TraceCheckUtils]: 1: Hoare triple {5794#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5794#true} is VALID [2022-04-28 12:19:34,562 INFO L290 TraceCheckUtils]: 2: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:19:34,562 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5794#true} {5794#true} #98#return; {5794#true} is VALID [2022-04-28 12:19:34,562 INFO L272 TraceCheckUtils]: 4: Hoare triple {5794#true} call #t~ret8 := main(); {5794#true} is VALID [2022-04-28 12:19:34,562 INFO L290 TraceCheckUtils]: 5: Hoare triple {5794#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5794#true} is VALID [2022-04-28 12:19:34,562 INFO L272 TraceCheckUtils]: 6: Hoare triple {5794#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:19:34,562 INFO L290 TraceCheckUtils]: 7: Hoare triple {5794#true} ~cond := #in~cond; {5820#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:19:34,563 INFO L290 TraceCheckUtils]: 8: Hoare triple {5820#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:19:34,563 INFO L290 TraceCheckUtils]: 9: Hoare triple {5824#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:19:34,563 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5824#(not (= |assume_abort_if_not_#in~cond| 0))} {5794#true} #78#return; {5831#(<= 1 main_~x~0)} is VALID [2022-04-28 12:19:34,564 INFO L272 TraceCheckUtils]: 11: Hoare triple {5831#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:19:34,564 INFO L290 TraceCheckUtils]: 12: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:19:34,564 INFO L290 TraceCheckUtils]: 13: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:19:34,564 INFO L290 TraceCheckUtils]: 14: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:19:34,564 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5794#true} {5831#(<= 1 main_~x~0)} #80#return; {5831#(<= 1 main_~x~0)} is VALID [2022-04-28 12:19:34,565 INFO L290 TraceCheckUtils]: 16: Hoare triple {5831#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:19:34,565 INFO L272 TraceCheckUtils]: 17: Hoare triple {5850#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:19:34,565 INFO L290 TraceCheckUtils]: 18: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:19:34,565 INFO L290 TraceCheckUtils]: 19: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:19:34,565 INFO L290 TraceCheckUtils]: 20: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:19:34,571 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5794#true} {5850#(<= 1 main_~a~0)} #82#return; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:19:34,571 INFO L272 TraceCheckUtils]: 22: Hoare triple {5850#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:19:34,572 INFO L290 TraceCheckUtils]: 23: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:19:34,572 INFO L290 TraceCheckUtils]: 24: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:19:34,572 INFO L290 TraceCheckUtils]: 25: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:19:34,572 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5794#true} {5850#(<= 1 main_~a~0)} #84#return; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:19:34,573 INFO L290 TraceCheckUtils]: 27: Hoare triple {5850#(<= 1 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:19:34,573 INFO L290 TraceCheckUtils]: 28: Hoare triple {5850#(<= 1 main_~a~0)} assume !!(#t~post6 < 50);havoc #t~post6; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:19:34,574 INFO L290 TraceCheckUtils]: 29: Hoare triple {5850#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:19:34,574 INFO L290 TraceCheckUtils]: 30: Hoare triple {5890#(<= 1 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:19:34,574 INFO L290 TraceCheckUtils]: 31: Hoare triple {5890#(<= 1 main_~c~0)} assume !!(#t~post7 < 50);havoc #t~post7; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:19:34,574 INFO L272 TraceCheckUtils]: 32: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:19:34,575 INFO L290 TraceCheckUtils]: 33: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:19:34,575 INFO L290 TraceCheckUtils]: 34: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:19:34,575 INFO L290 TraceCheckUtils]: 35: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:19:34,575 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #86#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:19:34,576 INFO L272 TraceCheckUtils]: 37: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:19:34,576 INFO L290 TraceCheckUtils]: 38: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:19:34,576 INFO L290 TraceCheckUtils]: 39: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:19:34,576 INFO L290 TraceCheckUtils]: 40: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:19:34,577 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #88#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:19:34,577 INFO L272 TraceCheckUtils]: 42: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:19:34,577 INFO L290 TraceCheckUtils]: 43: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:19:34,577 INFO L290 TraceCheckUtils]: 44: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:19:34,577 INFO L290 TraceCheckUtils]: 45: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:19:34,578 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #90#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:19:34,578 INFO L272 TraceCheckUtils]: 47: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:19:34,578 INFO L290 TraceCheckUtils]: 48: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:19:34,578 INFO L290 TraceCheckUtils]: 49: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:19:34,578 INFO L290 TraceCheckUtils]: 50: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:19:34,579 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #92#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:19:34,579 INFO L290 TraceCheckUtils]: 52: Hoare triple {5890#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:19:34,580 INFO L290 TraceCheckUtils]: 53: Hoare triple {5890#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 12:19:34,580 INFO L290 TraceCheckUtils]: 54: Hoare triple {5963#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 12:19:34,580 INFO L290 TraceCheckUtils]: 55: Hoare triple {5963#(<= 1 main_~b~0)} assume !!(#t~post6 < 50);havoc #t~post6; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 12:19:34,580 INFO L290 TraceCheckUtils]: 56: Hoare triple {5963#(<= 1 main_~b~0)} assume !(0 != ~b~0); {5795#false} is VALID [2022-04-28 12:19:34,581 INFO L272 TraceCheckUtils]: 57: Hoare triple {5795#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {5795#false} is VALID [2022-04-28 12:19:34,581 INFO L290 TraceCheckUtils]: 58: Hoare triple {5795#false} ~cond := #in~cond; {5795#false} is VALID [2022-04-28 12:19:34,581 INFO L290 TraceCheckUtils]: 59: Hoare triple {5795#false} assume 0 == ~cond; {5795#false} is VALID [2022-04-28 12:19:34,581 INFO L290 TraceCheckUtils]: 60: Hoare triple {5795#false} assume !false; {5795#false} is VALID [2022-04-28 12:19:34,581 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 12 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 12:19:34,581 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:19:34,846 INFO L290 TraceCheckUtils]: 60: Hoare triple {5795#false} assume !false; {5795#false} is VALID [2022-04-28 12:19:34,846 INFO L290 TraceCheckUtils]: 59: Hoare triple {5795#false} assume 0 == ~cond; {5795#false} is VALID [2022-04-28 12:19:34,846 INFO L290 TraceCheckUtils]: 58: Hoare triple {5795#false} ~cond := #in~cond; {5795#false} is VALID [2022-04-28 12:19:34,846 INFO L272 TraceCheckUtils]: 57: Hoare triple {5795#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {5795#false} is VALID [2022-04-28 12:19:34,846 INFO L290 TraceCheckUtils]: 56: Hoare triple {5963#(<= 1 main_~b~0)} assume !(0 != ~b~0); {5795#false} is VALID [2022-04-28 12:19:34,847 INFO L290 TraceCheckUtils]: 55: Hoare triple {5963#(<= 1 main_~b~0)} assume !!(#t~post6 < 50);havoc #t~post6; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 12:19:34,847 INFO L290 TraceCheckUtils]: 54: Hoare triple {5963#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 12:19:34,847 INFO L290 TraceCheckUtils]: 53: Hoare triple {5890#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {5963#(<= 1 main_~b~0)} is VALID [2022-04-28 12:19:34,848 INFO L290 TraceCheckUtils]: 52: Hoare triple {5890#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:19:34,848 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #92#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:19:34,848 INFO L290 TraceCheckUtils]: 50: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:19:34,848 INFO L290 TraceCheckUtils]: 49: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:19:34,849 INFO L290 TraceCheckUtils]: 48: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:19:34,849 INFO L272 TraceCheckUtils]: 47: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:19:34,849 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #90#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:19:34,849 INFO L290 TraceCheckUtils]: 45: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:19:34,849 INFO L290 TraceCheckUtils]: 44: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:19:34,849 INFO L290 TraceCheckUtils]: 43: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:19:34,849 INFO L272 TraceCheckUtils]: 42: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:19:34,850 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #88#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:19:34,850 INFO L290 TraceCheckUtils]: 40: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:19:34,850 INFO L290 TraceCheckUtils]: 39: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:19:34,850 INFO L290 TraceCheckUtils]: 38: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:19:34,850 INFO L272 TraceCheckUtils]: 37: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:19:34,851 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5794#true} {5890#(<= 1 main_~c~0)} #86#return; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:19:34,851 INFO L290 TraceCheckUtils]: 35: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:19:34,851 INFO L290 TraceCheckUtils]: 34: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:19:34,851 INFO L290 TraceCheckUtils]: 33: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:19:34,851 INFO L272 TraceCheckUtils]: 32: Hoare triple {5890#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:19:34,851 INFO L290 TraceCheckUtils]: 31: Hoare triple {5890#(<= 1 main_~c~0)} assume !!(#t~post7 < 50);havoc #t~post7; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:19:34,852 INFO L290 TraceCheckUtils]: 30: Hoare triple {5890#(<= 1 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:19:34,852 INFO L290 TraceCheckUtils]: 29: Hoare triple {5850#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5890#(<= 1 main_~c~0)} is VALID [2022-04-28 12:19:34,852 INFO L290 TraceCheckUtils]: 28: Hoare triple {5850#(<= 1 main_~a~0)} assume !!(#t~post6 < 50);havoc #t~post6; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:19:34,852 INFO L290 TraceCheckUtils]: 27: Hoare triple {5850#(<= 1 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:19:34,853 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5794#true} {5850#(<= 1 main_~a~0)} #84#return; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:19:34,853 INFO L290 TraceCheckUtils]: 25: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:19:34,853 INFO L290 TraceCheckUtils]: 24: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:19:34,853 INFO L290 TraceCheckUtils]: 23: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:19:34,853 INFO L272 TraceCheckUtils]: 22: Hoare triple {5850#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:19:34,854 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5794#true} {5850#(<= 1 main_~a~0)} #82#return; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:19:34,854 INFO L290 TraceCheckUtils]: 20: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:19:34,854 INFO L290 TraceCheckUtils]: 19: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:19:34,854 INFO L290 TraceCheckUtils]: 18: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:19:34,854 INFO L272 TraceCheckUtils]: 17: Hoare triple {5850#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:19:34,854 INFO L290 TraceCheckUtils]: 16: Hoare triple {5831#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {5850#(<= 1 main_~a~0)} is VALID [2022-04-28 12:19:34,855 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5794#true} {5831#(<= 1 main_~x~0)} #80#return; {5831#(<= 1 main_~x~0)} is VALID [2022-04-28 12:19:34,855 INFO L290 TraceCheckUtils]: 14: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:19:34,855 INFO L290 TraceCheckUtils]: 13: Hoare triple {5794#true} assume !(0 == ~cond); {5794#true} is VALID [2022-04-28 12:19:34,855 INFO L290 TraceCheckUtils]: 12: Hoare triple {5794#true} ~cond := #in~cond; {5794#true} is VALID [2022-04-28 12:19:34,855 INFO L272 TraceCheckUtils]: 11: Hoare triple {5831#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:19:34,855 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5824#(not (= |assume_abort_if_not_#in~cond| 0))} {5794#true} #78#return; {5831#(<= 1 main_~x~0)} is VALID [2022-04-28 12:19:34,856 INFO L290 TraceCheckUtils]: 9: Hoare triple {5824#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:19:34,856 INFO L290 TraceCheckUtils]: 8: Hoare triple {6144#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {5824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:19:34,856 INFO L290 TraceCheckUtils]: 7: Hoare triple {5794#true} ~cond := #in~cond; {6144#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:19:34,856 INFO L272 TraceCheckUtils]: 6: Hoare triple {5794#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5794#true} is VALID [2022-04-28 12:19:34,856 INFO L290 TraceCheckUtils]: 5: Hoare triple {5794#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5794#true} is VALID [2022-04-28 12:19:34,857 INFO L272 TraceCheckUtils]: 4: Hoare triple {5794#true} call #t~ret8 := main(); {5794#true} is VALID [2022-04-28 12:19:34,857 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5794#true} {5794#true} #98#return; {5794#true} is VALID [2022-04-28 12:19:34,857 INFO L290 TraceCheckUtils]: 2: Hoare triple {5794#true} assume true; {5794#true} is VALID [2022-04-28 12:19:34,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {5794#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5794#true} is VALID [2022-04-28 12:19:34,857 INFO L272 TraceCheckUtils]: 0: Hoare triple {5794#true} call ULTIMATE.init(); {5794#true} is VALID [2022-04-28 12:19:34,857 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 12 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 12:19:34,857 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:19:34,857 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [442469907] [2022-04-28 12:19:34,857 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:19:34,857 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1719582991] [2022-04-28 12:19:34,857 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1719582991] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:19:34,858 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:19:34,858 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 12:19:34,858 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:19:34,858 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [971986057] [2022-04-28 12:19:34,858 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [971986057] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:19:34,858 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:19:34,858 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:19:34,858 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1860352106] [2022-04-28 12:19:34,858 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:19:34,859 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 61 [2022-04-28 12:19:34,859 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:19:34,859 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:19:34,889 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:34,889 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:19:34,889 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:34,891 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:19:34,891 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:19:34,891 INFO L87 Difference]: Start difference. First operand 103 states and 126 transitions. Second operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:19:35,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:35,975 INFO L93 Difference]: Finished difference Result 182 states and 256 transitions. [2022-04-28 12:19:35,975 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:19:35,976 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 61 [2022-04-28 12:19:35,976 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:19:35,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:19:35,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 147 transitions. [2022-04-28 12:19:35,978 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:19:35,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 147 transitions. [2022-04-28 12:19:35,988 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 147 transitions. [2022-04-28 12:19:36,136 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 147 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:36,140 INFO L225 Difference]: With dead ends: 182 [2022-04-28 12:19:36,140 INFO L226 Difference]: Without dead ends: 174 [2022-04-28 12:19:36,140 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=60, Invalid=180, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:19:36,141 INFO L413 NwaCegarLoop]: 71 mSDtfsCounter, 59 mSDsluCounter, 246 mSDsCounter, 0 mSdLazyCounter, 161 mSolverCounterSat, 71 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 317 SdHoareTripleChecker+Invalid, 232 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 71 IncrementalHoareTripleChecker+Valid, 161 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:19:36,141 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [64 Valid, 317 Invalid, 232 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [71 Valid, 161 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:19:36,141 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2022-04-28 12:19:36,390 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 146. [2022-04-28 12:19:36,391 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:19:36,391 INFO L82 GeneralOperation]: Start isEquivalent. First operand 174 states. Second operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:19:36,391 INFO L74 IsIncluded]: Start isIncluded. First operand 174 states. Second operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:19:36,392 INFO L87 Difference]: Start difference. First operand 174 states. Second operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:19:36,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:36,399 INFO L93 Difference]: Finished difference Result 174 states and 246 transitions. [2022-04-28 12:19:36,399 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 246 transitions. [2022-04-28 12:19:36,400 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:36,401 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:36,401 INFO L74 IsIncluded]: Start isIncluded. First operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) Second operand 174 states. [2022-04-28 12:19:36,401 INFO L87 Difference]: Start difference. First operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) Second operand 174 states. [2022-04-28 12:19:36,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:36,407 INFO L93 Difference]: Finished difference Result 174 states and 246 transitions. [2022-04-28 12:19:36,407 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 246 transitions. [2022-04-28 12:19:36,409 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:36,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:36,409 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:19:36,409 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:19:36,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 146 states, 90 states have (on average 1.2777777777777777) internal successors, (115), 94 states have internal predecessors, (115), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:19:36,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 199 transitions. [2022-04-28 12:19:36,414 INFO L78 Accepts]: Start accepts. Automaton has 146 states and 199 transitions. Word has length 61 [2022-04-28 12:19:36,414 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:19:36,414 INFO L495 AbstractCegarLoop]: Abstraction has 146 states and 199 transitions. [2022-04-28 12:19:36,414 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:19:36,414 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 146 states and 199 transitions. [2022-04-28 12:19:36,678 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 199 edges. 199 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:36,678 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 199 transitions. [2022-04-28 12:19:36,678 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-28 12:19:36,679 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:19:36,679 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:19:36,706 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-28 12:19:36,879 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 12:19:36,880 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:19:36,880 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:19:36,880 INFO L85 PathProgramCache]: Analyzing trace with hash 1537891564, now seen corresponding path program 1 times [2022-04-28 12:19:36,880 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:36,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [492587712] [2022-04-28 12:19:36,880 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:19:36,881 INFO L85 PathProgramCache]: Analyzing trace with hash 1537891564, now seen corresponding path program 2 times [2022-04-28 12:19:36,881 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:19:36,881 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2007467491] [2022-04-28 12:19:36,881 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:19:36,881 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:19:36,892 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:19:36,893 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [388492948] [2022-04-28 12:19:36,893 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:19:36,893 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:19:36,893 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:19:36,913 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:19:36,914 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 12:19:36,988 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:19:36,989 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:19:36,989 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:19:37,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:19:37,005 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:19:37,360 INFO L272 TraceCheckUtils]: 0: Hoare triple {7186#true} call ULTIMATE.init(); {7186#true} is VALID [2022-04-28 12:19:37,361 INFO L290 TraceCheckUtils]: 1: Hoare triple {7186#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,361 INFO L290 TraceCheckUtils]: 2: Hoare triple {7194#(<= ~counter~0 0)} assume true; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,362 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7194#(<= ~counter~0 0)} {7186#true} #98#return; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,362 INFO L272 TraceCheckUtils]: 4: Hoare triple {7194#(<= ~counter~0 0)} call #t~ret8 := main(); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,365 INFO L290 TraceCheckUtils]: 5: Hoare triple {7194#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,366 INFO L272 TraceCheckUtils]: 6: Hoare triple {7194#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,366 INFO L290 TraceCheckUtils]: 7: Hoare triple {7194#(<= ~counter~0 0)} ~cond := #in~cond; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,366 INFO L290 TraceCheckUtils]: 8: Hoare triple {7194#(<= ~counter~0 0)} assume !(0 == ~cond); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,367 INFO L290 TraceCheckUtils]: 9: Hoare triple {7194#(<= ~counter~0 0)} assume true; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,367 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7194#(<= ~counter~0 0)} {7194#(<= ~counter~0 0)} #78#return; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,368 INFO L272 TraceCheckUtils]: 11: Hoare triple {7194#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,368 INFO L290 TraceCheckUtils]: 12: Hoare triple {7194#(<= ~counter~0 0)} ~cond := #in~cond; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {7194#(<= ~counter~0 0)} assume !(0 == ~cond); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,369 INFO L290 TraceCheckUtils]: 14: Hoare triple {7194#(<= ~counter~0 0)} assume true; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,369 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7194#(<= ~counter~0 0)} {7194#(<= ~counter~0 0)} #80#return; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,370 INFO L290 TraceCheckUtils]: 16: Hoare triple {7194#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,370 INFO L272 TraceCheckUtils]: 17: Hoare triple {7194#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,371 INFO L290 TraceCheckUtils]: 18: Hoare triple {7194#(<= ~counter~0 0)} ~cond := #in~cond; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,371 INFO L290 TraceCheckUtils]: 19: Hoare triple {7194#(<= ~counter~0 0)} assume !(0 == ~cond); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,371 INFO L290 TraceCheckUtils]: 20: Hoare triple {7194#(<= ~counter~0 0)} assume true; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,372 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7194#(<= ~counter~0 0)} {7194#(<= ~counter~0 0)} #82#return; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,372 INFO L272 TraceCheckUtils]: 22: Hoare triple {7194#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,373 INFO L290 TraceCheckUtils]: 23: Hoare triple {7194#(<= ~counter~0 0)} ~cond := #in~cond; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,373 INFO L290 TraceCheckUtils]: 24: Hoare triple {7194#(<= ~counter~0 0)} assume !(0 == ~cond); {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,374 INFO L290 TraceCheckUtils]: 25: Hoare triple {7194#(<= ~counter~0 0)} assume true; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,374 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7194#(<= ~counter~0 0)} {7194#(<= ~counter~0 0)} #84#return; {7194#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:37,375 INFO L290 TraceCheckUtils]: 27: Hoare triple {7194#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7273#(<= ~counter~0 1)} is VALID [2022-04-28 12:19:37,375 INFO L290 TraceCheckUtils]: 28: Hoare triple {7273#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {7273#(<= ~counter~0 1)} is VALID [2022-04-28 12:19:37,376 INFO L290 TraceCheckUtils]: 29: Hoare triple {7273#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7273#(<= ~counter~0 1)} is VALID [2022-04-28 12:19:37,376 INFO L290 TraceCheckUtils]: 30: Hoare triple {7273#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,376 INFO L290 TraceCheckUtils]: 31: Hoare triple {7283#(<= ~counter~0 2)} assume !!(#t~post7 < 50);havoc #t~post7; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,377 INFO L272 TraceCheckUtils]: 32: Hoare triple {7283#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,378 INFO L290 TraceCheckUtils]: 33: Hoare triple {7283#(<= ~counter~0 2)} ~cond := #in~cond; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,378 INFO L290 TraceCheckUtils]: 34: Hoare triple {7283#(<= ~counter~0 2)} assume !(0 == ~cond); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,378 INFO L290 TraceCheckUtils]: 35: Hoare triple {7283#(<= ~counter~0 2)} assume true; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,379 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7283#(<= ~counter~0 2)} {7283#(<= ~counter~0 2)} #86#return; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,380 INFO L272 TraceCheckUtils]: 37: Hoare triple {7283#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,380 INFO L290 TraceCheckUtils]: 38: Hoare triple {7283#(<= ~counter~0 2)} ~cond := #in~cond; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,380 INFO L290 TraceCheckUtils]: 39: Hoare triple {7283#(<= ~counter~0 2)} assume !(0 == ~cond); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,381 INFO L290 TraceCheckUtils]: 40: Hoare triple {7283#(<= ~counter~0 2)} assume true; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,382 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7283#(<= ~counter~0 2)} {7283#(<= ~counter~0 2)} #88#return; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,382 INFO L272 TraceCheckUtils]: 42: Hoare triple {7283#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,383 INFO L290 TraceCheckUtils]: 43: Hoare triple {7283#(<= ~counter~0 2)} ~cond := #in~cond; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,383 INFO L290 TraceCheckUtils]: 44: Hoare triple {7283#(<= ~counter~0 2)} assume !(0 == ~cond); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,383 INFO L290 TraceCheckUtils]: 45: Hoare triple {7283#(<= ~counter~0 2)} assume true; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,384 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7283#(<= ~counter~0 2)} {7283#(<= ~counter~0 2)} #90#return; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,385 INFO L272 TraceCheckUtils]: 47: Hoare triple {7283#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,385 INFO L290 TraceCheckUtils]: 48: Hoare triple {7283#(<= ~counter~0 2)} ~cond := #in~cond; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,386 INFO L290 TraceCheckUtils]: 49: Hoare triple {7283#(<= ~counter~0 2)} assume !(0 == ~cond); {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,386 INFO L290 TraceCheckUtils]: 50: Hoare triple {7283#(<= ~counter~0 2)} assume true; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,387 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7283#(<= ~counter~0 2)} {7283#(<= ~counter~0 2)} #92#return; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,387 INFO L290 TraceCheckUtils]: 52: Hoare triple {7283#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {7283#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:37,387 INFO L290 TraceCheckUtils]: 53: Hoare triple {7283#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7353#(<= |main_#t~post7| 2)} is VALID [2022-04-28 12:19:37,388 INFO L290 TraceCheckUtils]: 54: Hoare triple {7353#(<= |main_#t~post7| 2)} assume !(#t~post7 < 50);havoc #t~post7; {7187#false} is VALID [2022-04-28 12:19:37,388 INFO L290 TraceCheckUtils]: 55: Hoare triple {7187#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7187#false} is VALID [2022-04-28 12:19:37,388 INFO L290 TraceCheckUtils]: 56: Hoare triple {7187#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7187#false} is VALID [2022-04-28 12:19:37,388 INFO L290 TraceCheckUtils]: 57: Hoare triple {7187#false} assume !(#t~post6 < 50);havoc #t~post6; {7187#false} is VALID [2022-04-28 12:19:37,388 INFO L272 TraceCheckUtils]: 58: Hoare triple {7187#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {7187#false} is VALID [2022-04-28 12:19:37,388 INFO L290 TraceCheckUtils]: 59: Hoare triple {7187#false} ~cond := #in~cond; {7187#false} is VALID [2022-04-28 12:19:37,388 INFO L290 TraceCheckUtils]: 60: Hoare triple {7187#false} assume 0 == ~cond; {7187#false} is VALID [2022-04-28 12:19:37,388 INFO L290 TraceCheckUtils]: 61: Hoare triple {7187#false} assume !false; {7187#false} is VALID [2022-04-28 12:19:37,389 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:19:37,389 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:19:37,706 INFO L290 TraceCheckUtils]: 61: Hoare triple {7187#false} assume !false; {7187#false} is VALID [2022-04-28 12:19:37,707 INFO L290 TraceCheckUtils]: 60: Hoare triple {7187#false} assume 0 == ~cond; {7187#false} is VALID [2022-04-28 12:19:37,707 INFO L290 TraceCheckUtils]: 59: Hoare triple {7187#false} ~cond := #in~cond; {7187#false} is VALID [2022-04-28 12:19:37,707 INFO L272 TraceCheckUtils]: 58: Hoare triple {7187#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {7187#false} is VALID [2022-04-28 12:19:37,707 INFO L290 TraceCheckUtils]: 57: Hoare triple {7187#false} assume !(#t~post6 < 50);havoc #t~post6; {7187#false} is VALID [2022-04-28 12:19:37,707 INFO L290 TraceCheckUtils]: 56: Hoare triple {7187#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7187#false} is VALID [2022-04-28 12:19:37,707 INFO L290 TraceCheckUtils]: 55: Hoare triple {7187#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7187#false} is VALID [2022-04-28 12:19:37,708 INFO L290 TraceCheckUtils]: 54: Hoare triple {7399#(< |main_#t~post7| 50)} assume !(#t~post7 < 50);havoc #t~post7; {7187#false} is VALID [2022-04-28 12:19:37,708 INFO L290 TraceCheckUtils]: 53: Hoare triple {7403#(< ~counter~0 50)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7399#(< |main_#t~post7| 50)} is VALID [2022-04-28 12:19:37,709 INFO L290 TraceCheckUtils]: 52: Hoare triple {7403#(< ~counter~0 50)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {7403#(< ~counter~0 50)} is VALID [2022-04-28 12:19:37,709 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7186#true} {7403#(< ~counter~0 50)} #92#return; {7403#(< ~counter~0 50)} is VALID [2022-04-28 12:19:37,710 INFO L290 TraceCheckUtils]: 50: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 12:19:37,710 INFO L290 TraceCheckUtils]: 49: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 12:19:37,710 INFO L290 TraceCheckUtils]: 48: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 12:19:37,710 INFO L272 TraceCheckUtils]: 47: Hoare triple {7403#(< ~counter~0 50)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7186#true} is VALID [2022-04-28 12:19:37,710 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7186#true} {7403#(< ~counter~0 50)} #90#return; {7403#(< ~counter~0 50)} is VALID [2022-04-28 12:19:37,711 INFO L290 TraceCheckUtils]: 45: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 12:19:37,711 INFO L290 TraceCheckUtils]: 44: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 12:19:37,711 INFO L290 TraceCheckUtils]: 43: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 12:19:37,711 INFO L272 TraceCheckUtils]: 42: Hoare triple {7403#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7186#true} is VALID [2022-04-28 12:19:37,712 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7186#true} {7403#(< ~counter~0 50)} #88#return; {7403#(< ~counter~0 50)} is VALID [2022-04-28 12:19:37,712 INFO L290 TraceCheckUtils]: 40: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 12:19:37,712 INFO L290 TraceCheckUtils]: 39: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 12:19:37,712 INFO L290 TraceCheckUtils]: 38: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 12:19:37,712 INFO L272 TraceCheckUtils]: 37: Hoare triple {7403#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7186#true} is VALID [2022-04-28 12:19:37,713 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7186#true} {7403#(< ~counter~0 50)} #86#return; {7403#(< ~counter~0 50)} is VALID [2022-04-28 12:19:37,713 INFO L290 TraceCheckUtils]: 35: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 12:19:37,713 INFO L290 TraceCheckUtils]: 34: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 12:19:37,713 INFO L290 TraceCheckUtils]: 33: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 12:19:37,713 INFO L272 TraceCheckUtils]: 32: Hoare triple {7403#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7186#true} is VALID [2022-04-28 12:19:37,713 INFO L290 TraceCheckUtils]: 31: Hoare triple {7403#(< ~counter~0 50)} assume !!(#t~post7 < 50);havoc #t~post7; {7403#(< ~counter~0 50)} is VALID [2022-04-28 12:19:37,714 INFO L290 TraceCheckUtils]: 30: Hoare triple {7473#(< ~counter~0 49)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7403#(< ~counter~0 50)} is VALID [2022-04-28 12:19:37,714 INFO L290 TraceCheckUtils]: 29: Hoare triple {7473#(< ~counter~0 49)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7473#(< ~counter~0 49)} is VALID [2022-04-28 12:19:37,715 INFO L290 TraceCheckUtils]: 28: Hoare triple {7473#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {7473#(< ~counter~0 49)} is VALID [2022-04-28 12:19:37,715 INFO L290 TraceCheckUtils]: 27: Hoare triple {7483#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7473#(< ~counter~0 49)} is VALID [2022-04-28 12:19:37,716 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7186#true} {7483#(< ~counter~0 48)} #84#return; {7483#(< ~counter~0 48)} is VALID [2022-04-28 12:19:37,716 INFO L290 TraceCheckUtils]: 25: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 12:19:37,716 INFO L290 TraceCheckUtils]: 24: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 12:19:37,716 INFO L290 TraceCheckUtils]: 23: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 12:19:37,717 INFO L272 TraceCheckUtils]: 22: Hoare triple {7483#(< ~counter~0 48)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {7186#true} is VALID [2022-04-28 12:19:37,719 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7186#true} {7483#(< ~counter~0 48)} #82#return; {7483#(< ~counter~0 48)} is VALID [2022-04-28 12:19:37,719 INFO L290 TraceCheckUtils]: 20: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 12:19:37,720 INFO L290 TraceCheckUtils]: 19: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 12:19:37,720 INFO L290 TraceCheckUtils]: 18: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 12:19:37,720 INFO L272 TraceCheckUtils]: 17: Hoare triple {7483#(< ~counter~0 48)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {7186#true} is VALID [2022-04-28 12:19:37,720 INFO L290 TraceCheckUtils]: 16: Hoare triple {7483#(< ~counter~0 48)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {7483#(< ~counter~0 48)} is VALID [2022-04-28 12:19:37,721 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7186#true} {7483#(< ~counter~0 48)} #80#return; {7483#(< ~counter~0 48)} is VALID [2022-04-28 12:19:37,721 INFO L290 TraceCheckUtils]: 14: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 12:19:37,721 INFO L290 TraceCheckUtils]: 13: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 12:19:37,721 INFO L290 TraceCheckUtils]: 12: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 12:19:37,721 INFO L272 TraceCheckUtils]: 11: Hoare triple {7483#(< ~counter~0 48)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7186#true} is VALID [2022-04-28 12:19:37,722 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7186#true} {7483#(< ~counter~0 48)} #78#return; {7483#(< ~counter~0 48)} is VALID [2022-04-28 12:19:37,722 INFO L290 TraceCheckUtils]: 9: Hoare triple {7186#true} assume true; {7186#true} is VALID [2022-04-28 12:19:37,722 INFO L290 TraceCheckUtils]: 8: Hoare triple {7186#true} assume !(0 == ~cond); {7186#true} is VALID [2022-04-28 12:19:37,722 INFO L290 TraceCheckUtils]: 7: Hoare triple {7186#true} ~cond := #in~cond; {7186#true} is VALID [2022-04-28 12:19:37,722 INFO L272 TraceCheckUtils]: 6: Hoare triple {7483#(< ~counter~0 48)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7186#true} is VALID [2022-04-28 12:19:37,722 INFO L290 TraceCheckUtils]: 5: Hoare triple {7483#(< ~counter~0 48)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7483#(< ~counter~0 48)} is VALID [2022-04-28 12:19:37,723 INFO L272 TraceCheckUtils]: 4: Hoare triple {7483#(< ~counter~0 48)} call #t~ret8 := main(); {7483#(< ~counter~0 48)} is VALID [2022-04-28 12:19:37,723 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7483#(< ~counter~0 48)} {7186#true} #98#return; {7483#(< ~counter~0 48)} is VALID [2022-04-28 12:19:37,724 INFO L290 TraceCheckUtils]: 2: Hoare triple {7483#(< ~counter~0 48)} assume true; {7483#(< ~counter~0 48)} is VALID [2022-04-28 12:19:37,724 INFO L290 TraceCheckUtils]: 1: Hoare triple {7186#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7483#(< ~counter~0 48)} is VALID [2022-04-28 12:19:37,724 INFO L272 TraceCheckUtils]: 0: Hoare triple {7186#true} call ULTIMATE.init(); {7186#true} is VALID [2022-04-28 12:19:37,725 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:19:37,725 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:19:37,725 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2007467491] [2022-04-28 12:19:37,727 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:19:37,727 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [388492948] [2022-04-28 12:19:37,727 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [388492948] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:19:37,727 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:19:37,727 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 12:19:37,728 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:19:37,728 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [492587712] [2022-04-28 12:19:37,728 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [492587712] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:19:37,728 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:19:37,728 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:19:37,728 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1122890375] [2022-04-28 12:19:37,728 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:19:37,729 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 62 [2022-04-28 12:19:37,729 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:19:37,729 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:19:37,770 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:37,770 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:19:37,770 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:37,771 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:19:37,771 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:19:37,771 INFO L87 Difference]: Start difference. First operand 146 states and 199 transitions. Second operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:19:38,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:38,224 INFO L93 Difference]: Finished difference Result 183 states and 250 transitions. [2022-04-28 12:19:38,224 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:19:38,224 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 62 [2022-04-28 12:19:38,224 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:19:38,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:19:38,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 95 transitions. [2022-04-28 12:19:38,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:19:38,237 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 95 transitions. [2022-04-28 12:19:38,237 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 95 transitions. [2022-04-28 12:19:38,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:38,355 INFO L225 Difference]: With dead ends: 183 [2022-04-28 12:19:38,355 INFO L226 Difference]: Without dead ends: 146 [2022-04-28 12:19:38,355 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 115 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:19:38,356 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 16 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 31 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:19:38,356 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 143 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:19:38,356 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2022-04-28 12:19:38,640 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 146. [2022-04-28 12:19:38,640 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:19:38,651 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:19:38,651 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:19:38,652 INFO L87 Difference]: Start difference. First operand 146 states. Second operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:19:38,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:38,656 INFO L93 Difference]: Finished difference Result 146 states and 198 transitions. [2022-04-28 12:19:38,656 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 198 transitions. [2022-04-28 12:19:38,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:38,657 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:38,657 INFO L74 IsIncluded]: Start isIncluded. First operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) Second operand 146 states. [2022-04-28 12:19:38,657 INFO L87 Difference]: Start difference. First operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) Second operand 146 states. [2022-04-28 12:19:38,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:38,672 INFO L93 Difference]: Finished difference Result 146 states and 198 transitions. [2022-04-28 12:19:38,672 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 198 transitions. [2022-04-28 12:19:38,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:38,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:38,672 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:19:38,672 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:19:38,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 146 states, 90 states have (on average 1.2666666666666666) internal successors, (114), 94 states have internal predecessors, (114), 43 states have call successors, (43), 13 states have call predecessors, (43), 12 states have return successors, (41), 38 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 12:19:38,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 198 transitions. [2022-04-28 12:19:38,689 INFO L78 Accepts]: Start accepts. Automaton has 146 states and 198 transitions. Word has length 62 [2022-04-28 12:19:38,690 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:19:38,690 INFO L495 AbstractCegarLoop]: Abstraction has 146 states and 198 transitions. [2022-04-28 12:19:38,690 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:19:38,690 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 146 states and 198 transitions. [2022-04-28 12:19:39,023 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 198 edges. 198 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:39,024 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 198 transitions. [2022-04-28 12:19:39,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-28 12:19:39,024 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:19:39,024 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:19:39,051 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 12:19:39,225 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 12:19:39,225 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:19:39,225 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:19:39,225 INFO L85 PathProgramCache]: Analyzing trace with hash -385934262, now seen corresponding path program 1 times [2022-04-28 12:19:39,226 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:39,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2049091180] [2022-04-28 12:19:39,226 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:19:39,226 INFO L85 PathProgramCache]: Analyzing trace with hash -385934262, now seen corresponding path program 2 times [2022-04-28 12:19:39,226 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:19:39,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [671947682] [2022-04-28 12:19:39,226 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:19:39,227 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:19:39,248 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:19:39,249 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1127872184] [2022-04-28 12:19:39,249 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:19:39,249 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:19:39,249 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:19:39,275 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:19:39,287 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 12:19:39,337 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:19:39,338 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:19:39,339 INFO L263 TraceCheckSpWp]: Trace formula consists of 220 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:19:39,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:19:39,393 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:19:39,760 INFO L272 TraceCheckUtils]: 0: Hoare triple {8519#true} call ULTIMATE.init(); {8519#true} is VALID [2022-04-28 12:19:39,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {8519#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,761 INFO L290 TraceCheckUtils]: 2: Hoare triple {8527#(<= ~counter~0 0)} assume true; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,762 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8527#(<= ~counter~0 0)} {8519#true} #98#return; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,762 INFO L272 TraceCheckUtils]: 4: Hoare triple {8527#(<= ~counter~0 0)} call #t~ret8 := main(); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,763 INFO L290 TraceCheckUtils]: 5: Hoare triple {8527#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,763 INFO L272 TraceCheckUtils]: 6: Hoare triple {8527#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,763 INFO L290 TraceCheckUtils]: 7: Hoare triple {8527#(<= ~counter~0 0)} ~cond := #in~cond; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,764 INFO L290 TraceCheckUtils]: 8: Hoare triple {8527#(<= ~counter~0 0)} assume !(0 == ~cond); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,764 INFO L290 TraceCheckUtils]: 9: Hoare triple {8527#(<= ~counter~0 0)} assume true; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,765 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8527#(<= ~counter~0 0)} {8527#(<= ~counter~0 0)} #78#return; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,765 INFO L272 TraceCheckUtils]: 11: Hoare triple {8527#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,765 INFO L290 TraceCheckUtils]: 12: Hoare triple {8527#(<= ~counter~0 0)} ~cond := #in~cond; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,766 INFO L290 TraceCheckUtils]: 13: Hoare triple {8527#(<= ~counter~0 0)} assume !(0 == ~cond); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,766 INFO L290 TraceCheckUtils]: 14: Hoare triple {8527#(<= ~counter~0 0)} assume true; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,767 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8527#(<= ~counter~0 0)} {8527#(<= ~counter~0 0)} #80#return; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,768 INFO L290 TraceCheckUtils]: 16: Hoare triple {8527#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,768 INFO L272 TraceCheckUtils]: 17: Hoare triple {8527#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,769 INFO L290 TraceCheckUtils]: 18: Hoare triple {8527#(<= ~counter~0 0)} ~cond := #in~cond; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,769 INFO L290 TraceCheckUtils]: 19: Hoare triple {8527#(<= ~counter~0 0)} assume !(0 == ~cond); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,769 INFO L290 TraceCheckUtils]: 20: Hoare triple {8527#(<= ~counter~0 0)} assume true; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,770 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8527#(<= ~counter~0 0)} {8527#(<= ~counter~0 0)} #82#return; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,770 INFO L272 TraceCheckUtils]: 22: Hoare triple {8527#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,771 INFO L290 TraceCheckUtils]: 23: Hoare triple {8527#(<= ~counter~0 0)} ~cond := #in~cond; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,771 INFO L290 TraceCheckUtils]: 24: Hoare triple {8527#(<= ~counter~0 0)} assume !(0 == ~cond); {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,771 INFO L290 TraceCheckUtils]: 25: Hoare triple {8527#(<= ~counter~0 0)} assume true; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,772 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8527#(<= ~counter~0 0)} {8527#(<= ~counter~0 0)} #84#return; {8527#(<= ~counter~0 0)} is VALID [2022-04-28 12:19:39,772 INFO L290 TraceCheckUtils]: 27: Hoare triple {8527#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8606#(<= ~counter~0 1)} is VALID [2022-04-28 12:19:39,773 INFO L290 TraceCheckUtils]: 28: Hoare triple {8606#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {8606#(<= ~counter~0 1)} is VALID [2022-04-28 12:19:39,773 INFO L290 TraceCheckUtils]: 29: Hoare triple {8606#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8606#(<= ~counter~0 1)} is VALID [2022-04-28 12:19:39,774 INFO L290 TraceCheckUtils]: 30: Hoare triple {8606#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,774 INFO L290 TraceCheckUtils]: 31: Hoare triple {8616#(<= ~counter~0 2)} assume !!(#t~post7 < 50);havoc #t~post7; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,775 INFO L272 TraceCheckUtils]: 32: Hoare triple {8616#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,775 INFO L290 TraceCheckUtils]: 33: Hoare triple {8616#(<= ~counter~0 2)} ~cond := #in~cond; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,775 INFO L290 TraceCheckUtils]: 34: Hoare triple {8616#(<= ~counter~0 2)} assume !(0 == ~cond); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,776 INFO L290 TraceCheckUtils]: 35: Hoare triple {8616#(<= ~counter~0 2)} assume true; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,776 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8616#(<= ~counter~0 2)} {8616#(<= ~counter~0 2)} #86#return; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,777 INFO L272 TraceCheckUtils]: 37: Hoare triple {8616#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,777 INFO L290 TraceCheckUtils]: 38: Hoare triple {8616#(<= ~counter~0 2)} ~cond := #in~cond; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,777 INFO L290 TraceCheckUtils]: 39: Hoare triple {8616#(<= ~counter~0 2)} assume !(0 == ~cond); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,778 INFO L290 TraceCheckUtils]: 40: Hoare triple {8616#(<= ~counter~0 2)} assume true; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,778 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8616#(<= ~counter~0 2)} {8616#(<= ~counter~0 2)} #88#return; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,779 INFO L272 TraceCheckUtils]: 42: Hoare triple {8616#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,779 INFO L290 TraceCheckUtils]: 43: Hoare triple {8616#(<= ~counter~0 2)} ~cond := #in~cond; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,780 INFO L290 TraceCheckUtils]: 44: Hoare triple {8616#(<= ~counter~0 2)} assume !(0 == ~cond); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,780 INFO L290 TraceCheckUtils]: 45: Hoare triple {8616#(<= ~counter~0 2)} assume true; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,781 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8616#(<= ~counter~0 2)} {8616#(<= ~counter~0 2)} #90#return; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,781 INFO L272 TraceCheckUtils]: 47: Hoare triple {8616#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,782 INFO L290 TraceCheckUtils]: 48: Hoare triple {8616#(<= ~counter~0 2)} ~cond := #in~cond; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,782 INFO L290 TraceCheckUtils]: 49: Hoare triple {8616#(<= ~counter~0 2)} assume !(0 == ~cond); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,782 INFO L290 TraceCheckUtils]: 50: Hoare triple {8616#(<= ~counter~0 2)} assume true; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,783 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8616#(<= ~counter~0 2)} {8616#(<= ~counter~0 2)} #92#return; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,784 INFO L290 TraceCheckUtils]: 52: Hoare triple {8616#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,784 INFO L290 TraceCheckUtils]: 53: Hoare triple {8616#(<= ~counter~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8616#(<= ~counter~0 2)} is VALID [2022-04-28 12:19:39,785 INFO L290 TraceCheckUtils]: 54: Hoare triple {8616#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8689#(<= ~counter~0 3)} is VALID [2022-04-28 12:19:39,786 INFO L290 TraceCheckUtils]: 55: Hoare triple {8689#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {8689#(<= ~counter~0 3)} is VALID [2022-04-28 12:19:39,786 INFO L290 TraceCheckUtils]: 56: Hoare triple {8689#(<= ~counter~0 3)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8689#(<= ~counter~0 3)} is VALID [2022-04-28 12:19:39,786 INFO L290 TraceCheckUtils]: 57: Hoare triple {8689#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8699#(<= |main_#t~post7| 3)} is VALID [2022-04-28 12:19:39,787 INFO L290 TraceCheckUtils]: 58: Hoare triple {8699#(<= |main_#t~post7| 3)} assume !(#t~post7 < 50);havoc #t~post7; {8520#false} is VALID [2022-04-28 12:19:39,787 INFO L290 TraceCheckUtils]: 59: Hoare triple {8520#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8520#false} is VALID [2022-04-28 12:19:39,787 INFO L290 TraceCheckUtils]: 60: Hoare triple {8520#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8520#false} is VALID [2022-04-28 12:19:39,787 INFO L290 TraceCheckUtils]: 61: Hoare triple {8520#false} assume !(#t~post6 < 50);havoc #t~post6; {8520#false} is VALID [2022-04-28 12:19:39,787 INFO L272 TraceCheckUtils]: 62: Hoare triple {8520#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {8520#false} is VALID [2022-04-28 12:19:39,787 INFO L290 TraceCheckUtils]: 63: Hoare triple {8520#false} ~cond := #in~cond; {8520#false} is VALID [2022-04-28 12:19:39,787 INFO L290 TraceCheckUtils]: 64: Hoare triple {8520#false} assume 0 == ~cond; {8520#false} is VALID [2022-04-28 12:19:39,788 INFO L290 TraceCheckUtils]: 65: Hoare triple {8520#false} assume !false; {8520#false} is VALID [2022-04-28 12:19:39,788 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 13 proven. 5 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:19:39,788 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:19:40,114 INFO L290 TraceCheckUtils]: 65: Hoare triple {8520#false} assume !false; {8520#false} is VALID [2022-04-28 12:19:40,114 INFO L290 TraceCheckUtils]: 64: Hoare triple {8520#false} assume 0 == ~cond; {8520#false} is VALID [2022-04-28 12:19:40,114 INFO L290 TraceCheckUtils]: 63: Hoare triple {8520#false} ~cond := #in~cond; {8520#false} is VALID [2022-04-28 12:19:40,114 INFO L272 TraceCheckUtils]: 62: Hoare triple {8520#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {8520#false} is VALID [2022-04-28 12:19:40,114 INFO L290 TraceCheckUtils]: 61: Hoare triple {8520#false} assume !(#t~post6 < 50);havoc #t~post6; {8520#false} is VALID [2022-04-28 12:19:40,114 INFO L290 TraceCheckUtils]: 60: Hoare triple {8520#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8520#false} is VALID [2022-04-28 12:19:40,114 INFO L290 TraceCheckUtils]: 59: Hoare triple {8520#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8520#false} is VALID [2022-04-28 12:19:40,115 INFO L290 TraceCheckUtils]: 58: Hoare triple {8745#(< |main_#t~post7| 50)} assume !(#t~post7 < 50);havoc #t~post7; {8520#false} is VALID [2022-04-28 12:19:40,115 INFO L290 TraceCheckUtils]: 57: Hoare triple {8749#(< ~counter~0 50)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8745#(< |main_#t~post7| 50)} is VALID [2022-04-28 12:19:40,115 INFO L290 TraceCheckUtils]: 56: Hoare triple {8749#(< ~counter~0 50)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8749#(< ~counter~0 50)} is VALID [2022-04-28 12:19:40,116 INFO L290 TraceCheckUtils]: 55: Hoare triple {8749#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {8749#(< ~counter~0 50)} is VALID [2022-04-28 12:19:40,117 INFO L290 TraceCheckUtils]: 54: Hoare triple {8759#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8749#(< ~counter~0 50)} is VALID [2022-04-28 12:19:40,117 INFO L290 TraceCheckUtils]: 53: Hoare triple {8759#(< ~counter~0 49)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8759#(< ~counter~0 49)} is VALID [2022-04-28 12:19:40,117 INFO L290 TraceCheckUtils]: 52: Hoare triple {8759#(< ~counter~0 49)} assume !(~c~0 >= ~b~0); {8759#(< ~counter~0 49)} is VALID [2022-04-28 12:19:40,118 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8519#true} {8759#(< ~counter~0 49)} #92#return; {8759#(< ~counter~0 49)} is VALID [2022-04-28 12:19:40,118 INFO L290 TraceCheckUtils]: 50: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 12:19:40,118 INFO L290 TraceCheckUtils]: 49: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 12:19:40,119 INFO L290 TraceCheckUtils]: 48: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 12:19:40,119 INFO L272 TraceCheckUtils]: 47: Hoare triple {8759#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8519#true} is VALID [2022-04-28 12:19:40,119 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8519#true} {8759#(< ~counter~0 49)} #90#return; {8759#(< ~counter~0 49)} is VALID [2022-04-28 12:19:40,119 INFO L290 TraceCheckUtils]: 45: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 12:19:40,120 INFO L290 TraceCheckUtils]: 44: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 12:19:40,120 INFO L290 TraceCheckUtils]: 43: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 12:19:40,120 INFO L272 TraceCheckUtils]: 42: Hoare triple {8759#(< ~counter~0 49)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8519#true} is VALID [2022-04-28 12:19:40,120 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8519#true} {8759#(< ~counter~0 49)} #88#return; {8759#(< ~counter~0 49)} is VALID [2022-04-28 12:19:40,121 INFO L290 TraceCheckUtils]: 40: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 12:19:40,121 INFO L290 TraceCheckUtils]: 39: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 12:19:40,121 INFO L290 TraceCheckUtils]: 38: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 12:19:40,121 INFO L272 TraceCheckUtils]: 37: Hoare triple {8759#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8519#true} is VALID [2022-04-28 12:19:40,121 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8519#true} {8759#(< ~counter~0 49)} #86#return; {8759#(< ~counter~0 49)} is VALID [2022-04-28 12:19:40,122 INFO L290 TraceCheckUtils]: 35: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 12:19:40,122 INFO L290 TraceCheckUtils]: 34: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 12:19:40,122 INFO L290 TraceCheckUtils]: 33: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 12:19:40,122 INFO L272 TraceCheckUtils]: 32: Hoare triple {8759#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8519#true} is VALID [2022-04-28 12:19:40,122 INFO L290 TraceCheckUtils]: 31: Hoare triple {8759#(< ~counter~0 49)} assume !!(#t~post7 < 50);havoc #t~post7; {8759#(< ~counter~0 49)} is VALID [2022-04-28 12:19:40,123 INFO L290 TraceCheckUtils]: 30: Hoare triple {8832#(< ~counter~0 48)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8759#(< ~counter~0 49)} is VALID [2022-04-28 12:19:40,123 INFO L290 TraceCheckUtils]: 29: Hoare triple {8832#(< ~counter~0 48)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8832#(< ~counter~0 48)} is VALID [2022-04-28 12:19:40,124 INFO L290 TraceCheckUtils]: 28: Hoare triple {8832#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {8832#(< ~counter~0 48)} is VALID [2022-04-28 12:19:40,124 INFO L290 TraceCheckUtils]: 27: Hoare triple {8842#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8832#(< ~counter~0 48)} is VALID [2022-04-28 12:19:40,125 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8519#true} {8842#(< ~counter~0 47)} #84#return; {8842#(< ~counter~0 47)} is VALID [2022-04-28 12:19:40,125 INFO L290 TraceCheckUtils]: 25: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 12:19:40,125 INFO L290 TraceCheckUtils]: 24: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 12:19:40,125 INFO L290 TraceCheckUtils]: 23: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 12:19:40,125 INFO L272 TraceCheckUtils]: 22: Hoare triple {8842#(< ~counter~0 47)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8519#true} is VALID [2022-04-28 12:19:40,125 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8519#true} {8842#(< ~counter~0 47)} #82#return; {8842#(< ~counter~0 47)} is VALID [2022-04-28 12:19:40,126 INFO L290 TraceCheckUtils]: 20: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 12:19:40,126 INFO L290 TraceCheckUtils]: 19: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 12:19:40,126 INFO L290 TraceCheckUtils]: 18: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 12:19:40,126 INFO L272 TraceCheckUtils]: 17: Hoare triple {8842#(< ~counter~0 47)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8519#true} is VALID [2022-04-28 12:19:40,126 INFO L290 TraceCheckUtils]: 16: Hoare triple {8842#(< ~counter~0 47)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {8842#(< ~counter~0 47)} is VALID [2022-04-28 12:19:40,127 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8519#true} {8842#(< ~counter~0 47)} #80#return; {8842#(< ~counter~0 47)} is VALID [2022-04-28 12:19:40,127 INFO L290 TraceCheckUtils]: 14: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 12:19:40,127 INFO L290 TraceCheckUtils]: 13: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 12:19:40,127 INFO L290 TraceCheckUtils]: 12: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 12:19:40,127 INFO L272 TraceCheckUtils]: 11: Hoare triple {8842#(< ~counter~0 47)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8519#true} is VALID [2022-04-28 12:19:40,127 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8519#true} {8842#(< ~counter~0 47)} #78#return; {8842#(< ~counter~0 47)} is VALID [2022-04-28 12:19:40,127 INFO L290 TraceCheckUtils]: 9: Hoare triple {8519#true} assume true; {8519#true} is VALID [2022-04-28 12:19:40,128 INFO L290 TraceCheckUtils]: 8: Hoare triple {8519#true} assume !(0 == ~cond); {8519#true} is VALID [2022-04-28 12:19:40,128 INFO L290 TraceCheckUtils]: 7: Hoare triple {8519#true} ~cond := #in~cond; {8519#true} is VALID [2022-04-28 12:19:40,128 INFO L272 TraceCheckUtils]: 6: Hoare triple {8842#(< ~counter~0 47)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8519#true} is VALID [2022-04-28 12:19:40,128 INFO L290 TraceCheckUtils]: 5: Hoare triple {8842#(< ~counter~0 47)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8842#(< ~counter~0 47)} is VALID [2022-04-28 12:19:40,128 INFO L272 TraceCheckUtils]: 4: Hoare triple {8842#(< ~counter~0 47)} call #t~ret8 := main(); {8842#(< ~counter~0 47)} is VALID [2022-04-28 12:19:40,129 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8842#(< ~counter~0 47)} {8519#true} #98#return; {8842#(< ~counter~0 47)} is VALID [2022-04-28 12:19:40,129 INFO L290 TraceCheckUtils]: 2: Hoare triple {8842#(< ~counter~0 47)} assume true; {8842#(< ~counter~0 47)} is VALID [2022-04-28 12:19:40,130 INFO L290 TraceCheckUtils]: 1: Hoare triple {8519#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8842#(< ~counter~0 47)} is VALID [2022-04-28 12:19:40,130 INFO L272 TraceCheckUtils]: 0: Hoare triple {8519#true} call ULTIMATE.init(); {8519#true} is VALID [2022-04-28 12:19:40,130 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 13 proven. 5 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:19:40,130 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:19:40,130 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [671947682] [2022-04-28 12:19:40,130 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:19:40,131 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1127872184] [2022-04-28 12:19:40,131 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1127872184] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:19:40,131 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:19:40,131 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 12:19:40,131 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:19:40,131 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2049091180] [2022-04-28 12:19:40,131 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2049091180] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:19:40,131 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:19:40,131 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:19:40,131 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [534756974] [2022-04-28 12:19:40,132 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:19:40,132 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 66 [2022-04-28 12:19:40,132 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:19:40,132 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:19:40,171 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:40,171 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:19:40,171 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:40,171 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:19:40,171 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:19:40,172 INFO L87 Difference]: Start difference. First operand 146 states and 198 transitions. Second operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:19:40,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:40,704 INFO L93 Difference]: Finished difference Result 253 states and 351 transitions. [2022-04-28 12:19:40,704 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:19:40,704 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 66 [2022-04-28 12:19:40,704 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:19:40,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:19:40,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 114 transitions. [2022-04-28 12:19:40,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:19:40,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 114 transitions. [2022-04-28 12:19:40,721 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 114 transitions. [2022-04-28 12:19:40,814 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:40,817 INFO L225 Difference]: With dead ends: 253 [2022-04-28 12:19:40,818 INFO L226 Difference]: Without dead ends: 173 [2022-04-28 12:19:40,818 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 121 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=70, Invalid=112, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:19:40,819 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 29 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 61 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:19:40,819 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 155 Invalid, 61 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 37 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:19:40,820 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-28 12:19:41,115 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 171. [2022-04-28 12:19:41,115 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:19:41,116 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:19:41,121 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:19:41,122 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:19:41,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:41,137 INFO L93 Difference]: Finished difference Result 173 states and 225 transitions. [2022-04-28 12:19:41,137 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 225 transitions. [2022-04-28 12:19:41,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:41,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:41,139 INFO L74 IsIncluded]: Start isIncluded. First operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) Second operand 173 states. [2022-04-28 12:19:41,140 INFO L87 Difference]: Start difference. First operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) Second operand 173 states. [2022-04-28 12:19:41,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:41,146 INFO L93 Difference]: Finished difference Result 173 states and 225 transitions. [2022-04-28 12:19:41,146 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 225 transitions. [2022-04-28 12:19:41,146 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:41,146 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:41,146 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:19:41,146 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:19:41,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 171 states, 108 states have (on average 1.2314814814814814) internal successors, (133), 111 states have internal predecessors, (133), 46 states have call successors, (46), 17 states have call predecessors, (46), 16 states have return successors, (44), 42 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:19:41,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 171 states to 171 states and 223 transitions. [2022-04-28 12:19:41,151 INFO L78 Accepts]: Start accepts. Automaton has 171 states and 223 transitions. Word has length 66 [2022-04-28 12:19:41,151 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:19:41,151 INFO L495 AbstractCegarLoop]: Abstraction has 171 states and 223 transitions. [2022-04-28 12:19:41,178 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:19:41,179 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 171 states and 223 transitions. [2022-04-28 12:19:41,526 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 223 edges. 223 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:41,526 INFO L276 IsEmpty]: Start isEmpty. Operand 171 states and 223 transitions. [2022-04-28 12:19:41,527 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 12:19:41,527 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:19:41,527 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:19:41,555 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 12:19:41,727 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 12:19:41,728 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:19:41,728 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:19:41,728 INFO L85 PathProgramCache]: Analyzing trace with hash 792554045, now seen corresponding path program 1 times [2022-04-28 12:19:41,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:41,728 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1981051709] [2022-04-28 12:19:41,729 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:19:41,729 INFO L85 PathProgramCache]: Analyzing trace with hash 792554045, now seen corresponding path program 2 times [2022-04-28 12:19:41,729 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:19:41,729 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1309242474] [2022-04-28 12:19:41,729 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:19:41,729 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:19:41,746 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:19:41,746 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2095446667] [2022-04-28 12:19:41,746 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:19:41,747 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:19:41,747 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:19:41,757 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:19:41,759 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 12:19:41,823 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:19:41,823 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:19:41,824 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 12:19:41,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:19:41,839 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:19:42,246 INFO L272 TraceCheckUtils]: 0: Hoare triple {10124#true} call ULTIMATE.init(); {10124#true} is VALID [2022-04-28 12:19:42,246 INFO L290 TraceCheckUtils]: 1: Hoare triple {10124#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10124#true} is VALID [2022-04-28 12:19:42,246 INFO L290 TraceCheckUtils]: 2: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:19:42,246 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10124#true} {10124#true} #98#return; {10124#true} is VALID [2022-04-28 12:19:42,247 INFO L272 TraceCheckUtils]: 4: Hoare triple {10124#true} call #t~ret8 := main(); {10124#true} is VALID [2022-04-28 12:19:42,247 INFO L290 TraceCheckUtils]: 5: Hoare triple {10124#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10124#true} is VALID [2022-04-28 12:19:42,247 INFO L272 TraceCheckUtils]: 6: Hoare triple {10124#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:19:42,247 INFO L290 TraceCheckUtils]: 7: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:19:42,247 INFO L290 TraceCheckUtils]: 8: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:19:42,247 INFO L290 TraceCheckUtils]: 9: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:19:42,247 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10124#true} {10124#true} #78#return; {10124#true} is VALID [2022-04-28 12:19:42,247 INFO L272 TraceCheckUtils]: 11: Hoare triple {10124#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:19:42,247 INFO L290 TraceCheckUtils]: 12: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:19:42,247 INFO L290 TraceCheckUtils]: 13: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:19:42,248 INFO L290 TraceCheckUtils]: 14: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:19:42,248 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10124#true} {10124#true} #80#return; {10124#true} is VALID [2022-04-28 12:19:42,248 INFO L290 TraceCheckUtils]: 16: Hoare triple {10124#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:19:42,248 INFO L272 TraceCheckUtils]: 17: Hoare triple {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:19:42,248 INFO L290 TraceCheckUtils]: 18: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:19:42,248 INFO L290 TraceCheckUtils]: 19: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:19:42,249 INFO L290 TraceCheckUtils]: 20: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:19:42,249 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10124#true} {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} #82#return; {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:19:42,249 INFO L272 TraceCheckUtils]: 22: Hoare triple {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:19:42,249 INFO L290 TraceCheckUtils]: 23: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:19:42,250 INFO L290 TraceCheckUtils]: 24: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:19:42,250 INFO L290 TraceCheckUtils]: 25: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:19:42,250 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10124#true} {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} #84#return; {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:19:42,251 INFO L290 TraceCheckUtils]: 27: Hoare triple {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:19:42,251 INFO L290 TraceCheckUtils]: 28: Hoare triple {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 50);havoc #t~post6; {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:19:42,252 INFO L290 TraceCheckUtils]: 29: Hoare triple {10177#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:19:42,252 INFO L290 TraceCheckUtils]: 30: Hoare triple {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:19:42,253 INFO L290 TraceCheckUtils]: 31: Hoare triple {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !!(#t~post7 < 50);havoc #t~post7; {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:19:42,253 INFO L272 TraceCheckUtils]: 32: Hoare triple {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:19:42,253 INFO L290 TraceCheckUtils]: 33: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:19:42,253 INFO L290 TraceCheckUtils]: 34: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:19:42,261 INFO L290 TraceCheckUtils]: 35: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:19:42,262 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10124#true} {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} #86#return; {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:19:42,262 INFO L272 TraceCheckUtils]: 37: Hoare triple {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:19:42,262 INFO L290 TraceCheckUtils]: 38: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:19:42,262 INFO L290 TraceCheckUtils]: 39: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:19:42,262 INFO L290 TraceCheckUtils]: 40: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:19:42,263 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10124#true} {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} #88#return; {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:19:42,263 INFO L272 TraceCheckUtils]: 42: Hoare triple {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:19:42,263 INFO L290 TraceCheckUtils]: 43: Hoare triple {10124#true} ~cond := #in~cond; {10260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:19:42,264 INFO L290 TraceCheckUtils]: 44: Hoare triple {10260#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:19:42,264 INFO L290 TraceCheckUtils]: 45: Hoare triple {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:19:42,265 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} {10217#(and (= main_~q~0 0) (= main_~c~0 main_~x~0))} #90#return; {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:19:42,265 INFO L272 TraceCheckUtils]: 47: Hoare triple {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:19:42,265 INFO L290 TraceCheckUtils]: 48: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:19:42,265 INFO L290 TraceCheckUtils]: 49: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:19:42,266 INFO L290 TraceCheckUtils]: 50: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:19:42,266 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10124#true} {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #92#return; {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:19:42,267 INFO L290 TraceCheckUtils]: 52: Hoare triple {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:19:42,267 INFO L290 TraceCheckUtils]: 53: Hoare triple {10271#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:19:42,268 INFO L290 TraceCheckUtils]: 54: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:19:42,268 INFO L290 TraceCheckUtils]: 55: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post6 < 50);havoc #t~post6; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:19:42,269 INFO L290 TraceCheckUtils]: 56: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:19:42,269 INFO L290 TraceCheckUtils]: 57: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:19:42,270 INFO L290 TraceCheckUtils]: 58: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post7 < 50);havoc #t~post7; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:19:42,270 INFO L272 TraceCheckUtils]: 59: Hoare triple {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:19:42,270 INFO L290 TraceCheckUtils]: 60: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:19:42,270 INFO L290 TraceCheckUtils]: 61: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:19:42,270 INFO L290 TraceCheckUtils]: 62: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:19:42,271 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {10124#true} {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #86#return; {10293#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:19:42,272 INFO L272 TraceCheckUtils]: 64: Hoare triple {10293#(and (= main_~p~0 0) (= 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)); {10327#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:19:42,272 INFO L290 TraceCheckUtils]: 65: Hoare triple {10327#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10331#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:19:42,272 INFO L290 TraceCheckUtils]: 66: Hoare triple {10331#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10125#false} is VALID [2022-04-28 12:19:42,273 INFO L290 TraceCheckUtils]: 67: Hoare triple {10125#false} assume !false; {10125#false} is VALID [2022-04-28 12:19:42,273 INFO L134 CoverageAnalysis]: Checked inductivity of 81 backedges. 15 proven. 14 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 12:19:42,273 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:20:04,193 INFO L290 TraceCheckUtils]: 67: Hoare triple {10125#false} assume !false; {10125#false} is VALID [2022-04-28 12:20:04,193 INFO L290 TraceCheckUtils]: 66: Hoare triple {10331#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10125#false} is VALID [2022-04-28 12:20:04,194 INFO L290 TraceCheckUtils]: 65: Hoare triple {10327#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10331#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:04,194 INFO L272 TraceCheckUtils]: 64: Hoare triple {10347#(= 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)); {10327#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:20:04,195 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {10124#true} {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #86#return; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:20:04,195 INFO L290 TraceCheckUtils]: 62: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:20:04,195 INFO L290 TraceCheckUtils]: 61: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:20:04,196 INFO L290 TraceCheckUtils]: 60: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:20:04,196 INFO L272 TraceCheckUtils]: 59: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:20:04,196 INFO L290 TraceCheckUtils]: 58: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post7 < 50);havoc #t~post7; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:20:04,197 INFO L290 TraceCheckUtils]: 57: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:20:04,197 INFO L290 TraceCheckUtils]: 56: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:20:04,197 INFO L290 TraceCheckUtils]: 55: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:20:04,198 INFO L290 TraceCheckUtils]: 54: Hoare triple {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:20:04,198 INFO L290 TraceCheckUtils]: 53: Hoare triple {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {10347#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:20:04,199 INFO L290 TraceCheckUtils]: 52: Hoare triple {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:20:04,199 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10124#true} {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #92#return; {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:20:04,200 INFO L290 TraceCheckUtils]: 50: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:20:04,200 INFO L290 TraceCheckUtils]: 49: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:20:04,200 INFO L290 TraceCheckUtils]: 48: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:20:04,200 INFO L272 TraceCheckUtils]: 47: Hoare triple {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:20:04,201 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} {10124#true} #90#return; {10381#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:20:04,201 INFO L290 TraceCheckUtils]: 45: Hoare triple {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:04,201 INFO L290 TraceCheckUtils]: 44: Hoare triple {10412#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10264#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:04,202 INFO L290 TraceCheckUtils]: 43: Hoare triple {10124#true} ~cond := #in~cond; {10412#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:20:04,202 INFO L272 TraceCheckUtils]: 42: Hoare triple {10124#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:20:04,202 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10124#true} {10124#true} #88#return; {10124#true} is VALID [2022-04-28 12:20:04,202 INFO L290 TraceCheckUtils]: 40: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:20:04,202 INFO L290 TraceCheckUtils]: 39: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:20:04,202 INFO L290 TraceCheckUtils]: 38: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:20:04,202 INFO L272 TraceCheckUtils]: 37: Hoare triple {10124#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:20:04,202 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10124#true} {10124#true} #86#return; {10124#true} is VALID [2022-04-28 12:20:04,202 INFO L290 TraceCheckUtils]: 35: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:20:04,203 INFO L290 TraceCheckUtils]: 34: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:20:04,203 INFO L290 TraceCheckUtils]: 33: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:20:04,203 INFO L272 TraceCheckUtils]: 32: Hoare triple {10124#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:20:04,203 INFO L290 TraceCheckUtils]: 31: Hoare triple {10124#true} assume !!(#t~post7 < 50);havoc #t~post7; {10124#true} is VALID [2022-04-28 12:20:04,203 INFO L290 TraceCheckUtils]: 30: Hoare triple {10124#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10124#true} is VALID [2022-04-28 12:20:04,203 INFO L290 TraceCheckUtils]: 29: Hoare triple {10124#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10124#true} is VALID [2022-04-28 12:20:04,203 INFO L290 TraceCheckUtils]: 28: Hoare triple {10124#true} assume !!(#t~post6 < 50);havoc #t~post6; {10124#true} is VALID [2022-04-28 12:20:04,203 INFO L290 TraceCheckUtils]: 27: Hoare triple {10124#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10124#true} is VALID [2022-04-28 12:20:04,203 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10124#true} {10124#true} #84#return; {10124#true} is VALID [2022-04-28 12:20:04,203 INFO L290 TraceCheckUtils]: 25: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:20:04,203 INFO L290 TraceCheckUtils]: 24: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:20:04,204 INFO L290 TraceCheckUtils]: 23: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:20:04,204 INFO L272 TraceCheckUtils]: 22: Hoare triple {10124#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:20:04,204 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10124#true} {10124#true} #82#return; {10124#true} is VALID [2022-04-28 12:20:04,204 INFO L290 TraceCheckUtils]: 20: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:20:04,204 INFO L290 TraceCheckUtils]: 19: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:20:04,204 INFO L290 TraceCheckUtils]: 18: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:20:04,204 INFO L272 TraceCheckUtils]: 17: Hoare triple {10124#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:20:04,204 INFO L290 TraceCheckUtils]: 16: Hoare triple {10124#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {10124#true} is VALID [2022-04-28 12:20:04,204 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10124#true} {10124#true} #80#return; {10124#true} is VALID [2022-04-28 12:20:04,204 INFO L290 TraceCheckUtils]: 14: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:20:04,204 INFO L290 TraceCheckUtils]: 13: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:20:04,205 INFO L290 TraceCheckUtils]: 12: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:20:04,205 INFO L272 TraceCheckUtils]: 11: Hoare triple {10124#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:20:04,205 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10124#true} {10124#true} #78#return; {10124#true} is VALID [2022-04-28 12:20:04,205 INFO L290 TraceCheckUtils]: 9: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:20:04,205 INFO L290 TraceCheckUtils]: 8: Hoare triple {10124#true} assume !(0 == ~cond); {10124#true} is VALID [2022-04-28 12:20:04,205 INFO L290 TraceCheckUtils]: 7: Hoare triple {10124#true} ~cond := #in~cond; {10124#true} is VALID [2022-04-28 12:20:04,205 INFO L272 TraceCheckUtils]: 6: Hoare triple {10124#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10124#true} is VALID [2022-04-28 12:20:04,205 INFO L290 TraceCheckUtils]: 5: Hoare triple {10124#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10124#true} is VALID [2022-04-28 12:20:04,205 INFO L272 TraceCheckUtils]: 4: Hoare triple {10124#true} call #t~ret8 := main(); {10124#true} is VALID [2022-04-28 12:20:04,205 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10124#true} {10124#true} #98#return; {10124#true} is VALID [2022-04-28 12:20:04,205 INFO L290 TraceCheckUtils]: 2: Hoare triple {10124#true} assume true; {10124#true} is VALID [2022-04-28 12:20:04,205 INFO L290 TraceCheckUtils]: 1: Hoare triple {10124#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10124#true} is VALID [2022-04-28 12:20:04,206 INFO L272 TraceCheckUtils]: 0: Hoare triple {10124#true} call ULTIMATE.init(); {10124#true} is VALID [2022-04-28 12:20:04,207 INFO L134 CoverageAnalysis]: Checked inductivity of 81 backedges. 22 proven. 7 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 12:20:04,207 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:20:04,207 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1309242474] [2022-04-28 12:20:04,207 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:20:04,207 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2095446667] [2022-04-28 12:20:04,207 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2095446667] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:20:04,207 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:20:04,207 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 13 [2022-04-28 12:20:04,208 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:20:04,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1981051709] [2022-04-28 12:20:04,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1981051709] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:04,209 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:04,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:20:04,209 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [661310444] [2022-04-28 12:20:04,209 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:20:04,209 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Word has length 68 [2022-04-28 12:20:04,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:20:04,210 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 12:20:04,253 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-28 12:20:04,253 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:20:04,253 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:04,253 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:20:04,253 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=126, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:20:04,254 INFO L87 Difference]: Start difference. First operand 171 states and 223 transitions. Second operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 12:20:05,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:05,645 INFO L93 Difference]: Finished difference Result 195 states and 259 transitions. [2022-04-28 12:20:05,645 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:20:05,645 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Word has length 68 [2022-04-28 12:20:05,645 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:20:05,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 12:20:05,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-28 12:20:05,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 12:20:05,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-28 12:20:05,648 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 97 transitions. [2022-04-28 12:20:05,804 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:05,809 INFO L225 Difference]: With dead ends: 195 [2022-04-28 12:20:05,809 INFO L226 Difference]: Without dead ends: 193 [2022-04-28 12:20:05,809 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 139 GetRequests, 123 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:20:05,810 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 22 mSDsluCounter, 248 mSDsCounter, 0 mSdLazyCounter, 312 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 295 SdHoareTripleChecker+Invalid, 320 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 312 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:20:05,810 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 295 Invalid, 320 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 312 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:20:05,810 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 193 states. [2022-04-28 12:20:06,183 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 193 to 190. [2022-04-28 12:20:06,184 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:20:06,184 INFO L82 GeneralOperation]: Start isEquivalent. First operand 193 states. Second operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:20:06,184 INFO L74 IsIncluded]: Start isIncluded. First operand 193 states. Second operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:20:06,185 INFO L87 Difference]: Start difference. First operand 193 states. Second operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:20:06,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:06,190 INFO L93 Difference]: Finished difference Result 193 states and 257 transitions. [2022-04-28 12:20:06,190 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 257 transitions. [2022-04-28 12:20:06,191 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:06,191 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:06,191 INFO L74 IsIncluded]: Start isIncluded. First operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 193 states. [2022-04-28 12:20:06,192 INFO L87 Difference]: Start difference. First operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 193 states. [2022-04-28 12:20:06,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:06,198 INFO L93 Difference]: Finished difference Result 193 states and 257 transitions. [2022-04-28 12:20:06,198 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 257 transitions. [2022-04-28 12:20:06,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:06,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:06,199 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:20:06,199 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:20:06,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 190 states, 117 states have (on average 1.2478632478632479) internal successors, (146), 121 states have internal predecessors, (146), 55 states have call successors, (55), 18 states have call predecessors, (55), 17 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:20:06,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 190 states to 190 states and 254 transitions. [2022-04-28 12:20:06,204 INFO L78 Accepts]: Start accepts. Automaton has 190 states and 254 transitions. Word has length 68 [2022-04-28 12:20:06,205 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:20:06,205 INFO L495 AbstractCegarLoop]: Abstraction has 190 states and 254 transitions. [2022-04-28 12:20:06,205 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 12:20:06,205 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 190 states and 254 transitions. [2022-04-28 12:20:06,810 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 254 edges. 254 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:06,811 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 254 transitions. [2022-04-28 12:20:06,812 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 12:20:06,812 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:20:06,813 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:20:06,838 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 12:20:07,013 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 12:20:07,013 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:20:07,014 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:20:07,014 INFO L85 PathProgramCache]: Analyzing trace with hash 783638790, now seen corresponding path program 3 times [2022-04-28 12:20:07,014 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:07,014 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [774929015] [2022-04-28 12:20:07,014 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:20:07,014 INFO L85 PathProgramCache]: Analyzing trace with hash 783638790, now seen corresponding path program 4 times [2022-04-28 12:20:07,014 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:20:07,015 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [550366748] [2022-04-28 12:20:07,015 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:20:07,015 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:20:07,038 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:20:07,038 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1255691201] [2022-04-28 12:20:07,038 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:20:07,038 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:07,038 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:20:07,050 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:20:07,052 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 12:20:07,106 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:20:07,106 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:20:07,107 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 12:20:07,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:07,129 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:20:08,090 INFO L272 TraceCheckUtils]: 0: Hoare triple {11708#true} call ULTIMATE.init(); {11708#true} is VALID [2022-04-28 12:20:08,090 INFO L290 TraceCheckUtils]: 1: Hoare triple {11708#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11708#true} is VALID [2022-04-28 12:20:08,091 INFO L290 TraceCheckUtils]: 2: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:20:08,091 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11708#true} {11708#true} #98#return; {11708#true} is VALID [2022-04-28 12:20:08,091 INFO L272 TraceCheckUtils]: 4: Hoare triple {11708#true} call #t~ret8 := main(); {11708#true} is VALID [2022-04-28 12:20:08,091 INFO L290 TraceCheckUtils]: 5: Hoare triple {11708#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11708#true} is VALID [2022-04-28 12:20:08,091 INFO L272 TraceCheckUtils]: 6: Hoare triple {11708#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:20:08,092 INFO L290 TraceCheckUtils]: 7: Hoare triple {11708#true} ~cond := #in~cond; {11734#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:20:08,092 INFO L290 TraceCheckUtils]: 8: Hoare triple {11734#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11738#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:08,092 INFO L290 TraceCheckUtils]: 9: Hoare triple {11738#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11738#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:08,093 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11738#(not (= |assume_abort_if_not_#in~cond| 0))} {11708#true} #78#return; {11745#(<= 1 main_~x~0)} is VALID [2022-04-28 12:20:08,093 INFO L272 TraceCheckUtils]: 11: Hoare triple {11745#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:20:08,093 INFO L290 TraceCheckUtils]: 12: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:20:08,093 INFO L290 TraceCheckUtils]: 13: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:20:08,093 INFO L290 TraceCheckUtils]: 14: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:20:08,099 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11708#true} {11745#(<= 1 main_~x~0)} #80#return; {11745#(<= 1 main_~x~0)} is VALID [2022-04-28 12:20:08,099 INFO L290 TraceCheckUtils]: 16: Hoare triple {11745#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:08,100 INFO L272 TraceCheckUtils]: 17: Hoare triple {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:20:08,100 INFO L290 TraceCheckUtils]: 18: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:20:08,100 INFO L290 TraceCheckUtils]: 19: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:20:08,100 INFO L290 TraceCheckUtils]: 20: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:20:08,101 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11708#true} {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:08,101 INFO L272 TraceCheckUtils]: 22: Hoare triple {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:20:08,101 INFO L290 TraceCheckUtils]: 23: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:20:08,101 INFO L290 TraceCheckUtils]: 24: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:20:08,101 INFO L290 TraceCheckUtils]: 25: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:20:08,102 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11708#true} {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:08,102 INFO L290 TraceCheckUtils]: 27: Hoare triple {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:08,103 INFO L290 TraceCheckUtils]: 28: Hoare triple {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:08,103 INFO L290 TraceCheckUtils]: 29: Hoare triple {11764#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:08,104 INFO L290 TraceCheckUtils]: 30: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:08,104 INFO L290 TraceCheckUtils]: 31: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:08,105 INFO L272 TraceCheckUtils]: 32: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:20:08,105 INFO L290 TraceCheckUtils]: 33: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:20:08,105 INFO L290 TraceCheckUtils]: 34: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:20:08,105 INFO L290 TraceCheckUtils]: 35: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:20:08,108 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11708#true} {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #86#return; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:08,108 INFO L272 TraceCheckUtils]: 37: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:20:08,108 INFO L290 TraceCheckUtils]: 38: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:20:08,109 INFO L290 TraceCheckUtils]: 39: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:20:08,109 INFO L290 TraceCheckUtils]: 40: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:20:08,109 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11708#true} {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #88#return; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:08,109 INFO L272 TraceCheckUtils]: 42: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:20:08,110 INFO L290 TraceCheckUtils]: 43: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:20:08,110 INFO L290 TraceCheckUtils]: 44: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:20:08,110 INFO L290 TraceCheckUtils]: 45: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:20:08,110 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {11708#true} {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #90#return; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:08,111 INFO L272 TraceCheckUtils]: 47: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:20:08,111 INFO L290 TraceCheckUtils]: 48: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:20:08,111 INFO L290 TraceCheckUtils]: 49: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:20:08,111 INFO L290 TraceCheckUtils]: 50: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:20:08,112 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11708#true} {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #92#return; {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:08,113 INFO L290 TraceCheckUtils]: 52: Hoare triple {11804#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {11874#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (= main_~k~0 0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:08,113 INFO L290 TraceCheckUtils]: 53: Hoare triple {11874#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (= main_~k~0 0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:20:08,114 INFO L290 TraceCheckUtils]: 54: Hoare triple {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:20:08,114 INFO L290 TraceCheckUtils]: 55: Hoare triple {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:20:08,115 INFO L290 TraceCheckUtils]: 56: Hoare triple {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:20:08,115 INFO L290 TraceCheckUtils]: 57: Hoare triple {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:20:08,116 INFO L290 TraceCheckUtils]: 58: Hoare triple {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:20:08,116 INFO L272 TraceCheckUtils]: 59: Hoare triple {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:20:08,116 INFO L290 TraceCheckUtils]: 60: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:20:08,116 INFO L290 TraceCheckUtils]: 61: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:20:08,116 INFO L290 TraceCheckUtils]: 62: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:20:08,117 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {11708#true} {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #86#return; {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:20:08,117 INFO L272 TraceCheckUtils]: 64: Hoare triple {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11708#true} is VALID [2022-04-28 12:20:08,117 INFO L290 TraceCheckUtils]: 65: Hoare triple {11708#true} ~cond := #in~cond; {11708#true} is VALID [2022-04-28 12:20:08,117 INFO L290 TraceCheckUtils]: 66: Hoare triple {11708#true} assume !(0 == ~cond); {11708#true} is VALID [2022-04-28 12:20:08,117 INFO L290 TraceCheckUtils]: 67: Hoare triple {11708#true} assume true; {11708#true} is VALID [2022-04-28 12:20:08,118 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {11708#true} {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #88#return; {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:20:08,119 INFO L272 TraceCheckUtils]: 69: Hoare triple {11878#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11927#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:20:08,119 INFO L290 TraceCheckUtils]: 70: Hoare triple {11927#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11931#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:08,119 INFO L290 TraceCheckUtils]: 71: Hoare triple {11931#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11709#false} is VALID [2022-04-28 12:20:08,120 INFO L290 TraceCheckUtils]: 72: Hoare triple {11709#false} assume !false; {11709#false} is VALID [2022-04-28 12:20:08,121 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 12 proven. 17 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-28 12:20:08,121 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:21:32,613 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:21:32,614 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [550366748] [2022-04-28 12:21:32,614 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:21:32,614 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1255691201] [2022-04-28 12:21:32,614 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1255691201] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:21:32,614 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:21:32,614 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-28 12:21:32,614 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:21:32,614 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [774929015] [2022-04-28 12:21:32,614 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [774929015] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:21:32,615 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:21:32,615 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:21:32,615 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1949313094] [2022-04-28 12:21:32,615 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:21:32,615 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 12:21:32,615 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:21:32,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:21:32,658 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:32,658 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:21:32,658 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:32,658 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:21:32,658 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:21:32,658 INFO L87 Difference]: Start difference. First operand 190 states and 254 transitions. Second operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:21:34,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:34,169 INFO L93 Difference]: Finished difference Result 199 states and 262 transitions. [2022-04-28 12:21:34,169 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:21:34,169 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 12:21:34,170 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:21:34,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:21:34,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 12:21:34,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:21:34,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-28 12:21:34,173 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-28 12:21:34,261 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:34,266 INFO L225 Difference]: With dead ends: 199 [2022-04-28 12:21:34,266 INFO L226 Difference]: Without dead ends: 197 [2022-04-28 12:21:34,266 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 80 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=63, Invalid=279, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:21:34,267 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 39 mSDsluCounter, 252 mSDsCounter, 0 mSdLazyCounter, 321 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 303 SdHoareTripleChecker+Invalid, 336 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 321 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:21:34,267 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 303 Invalid, 336 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 321 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:21:34,267 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-28 12:21:34,586 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 194. [2022-04-28 12:21:34,586 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:21:34,586 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:21:34,587 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:21:34,587 INFO L87 Difference]: Start difference. First operand 197 states. Second operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:21:34,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:34,593 INFO L93 Difference]: Finished difference Result 197 states and 260 transitions. [2022-04-28 12:21:34,593 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 260 transitions. [2022-04-28 12:21:34,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:34,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:34,594 INFO L74 IsIncluded]: Start isIncluded. First operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 197 states. [2022-04-28 12:21:34,595 INFO L87 Difference]: Start difference. First operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 197 states. [2022-04-28 12:21:34,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:34,600 INFO L93 Difference]: Finished difference Result 197 states and 260 transitions. [2022-04-28 12:21:34,600 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 260 transitions. [2022-04-28 12:21:34,601 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:34,601 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:34,601 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:21:34,601 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:21:34,602 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 194 states, 120 states have (on average 1.2416666666666667) internal successors, (149), 124 states have internal predecessors, (149), 55 states have call successors, (55), 19 states have call predecessors, (55), 18 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:21:34,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 194 states to 194 states and 257 transitions. [2022-04-28 12:21:34,607 INFO L78 Accepts]: Start accepts. Automaton has 194 states and 257 transitions. Word has length 73 [2022-04-28 12:21:34,608 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:21:34,608 INFO L495 AbstractCegarLoop]: Abstraction has 194 states and 257 transitions. [2022-04-28 12:21:34,608 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 12:21:34,608 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 194 states and 257 transitions. [2022-04-28 12:21:34,996 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 257 edges. 257 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:34,996 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 257 transitions. [2022-04-28 12:21:34,997 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-28 12:21:34,997 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:21:34,997 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:21:35,024 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 12:21:35,197 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:21:35,198 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:21:35,198 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:21:35,198 INFO L85 PathProgramCache]: Analyzing trace with hash 1625446301, now seen corresponding path program 5 times [2022-04-28 12:21:35,198 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:35,198 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [572526299] [2022-04-28 12:21:35,199 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:21:35,199 INFO L85 PathProgramCache]: Analyzing trace with hash 1625446301, now seen corresponding path program 6 times [2022-04-28 12:21:35,199 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:21:35,199 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2129789322] [2022-04-28 12:21:35,199 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:21:35,199 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:21:35,213 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:21:35,214 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [575542682] [2022-04-28 12:21:35,214 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:21:35,214 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:21:35,214 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:21:35,217 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:21:35,218 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 12:21:35,274 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:21:35,274 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:21:35,275 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-28 12:21:35,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:21:35,291 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:21:41,455 INFO L272 TraceCheckUtils]: 0: Hoare triple {13195#true} call ULTIMATE.init(); {13195#true} is VALID [2022-04-28 12:21:41,455 INFO L290 TraceCheckUtils]: 1: Hoare triple {13195#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13195#true} is VALID [2022-04-28 12:21:41,455 INFO L290 TraceCheckUtils]: 2: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:21:41,455 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13195#true} {13195#true} #98#return; {13195#true} is VALID [2022-04-28 12:21:41,455 INFO L272 TraceCheckUtils]: 4: Hoare triple {13195#true} call #t~ret8 := main(); {13195#true} is VALID [2022-04-28 12:21:41,455 INFO L290 TraceCheckUtils]: 5: Hoare triple {13195#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13195#true} is VALID [2022-04-28 12:21:41,456 INFO L272 TraceCheckUtils]: 6: Hoare triple {13195#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:21:41,456 INFO L290 TraceCheckUtils]: 7: Hoare triple {13195#true} ~cond := #in~cond; {13221#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:21:41,456 INFO L290 TraceCheckUtils]: 8: Hoare triple {13221#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {13225#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:21:41,456 INFO L290 TraceCheckUtils]: 9: Hoare triple {13225#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {13225#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:21:41,457 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13225#(not (= |assume_abort_if_not_#in~cond| 0))} {13195#true} #78#return; {13232#(<= 1 main_~x~0)} is VALID [2022-04-28 12:21:41,457 INFO L272 TraceCheckUtils]: 11: Hoare triple {13232#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:21:41,457 INFO L290 TraceCheckUtils]: 12: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:21:41,457 INFO L290 TraceCheckUtils]: 13: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:21:41,457 INFO L290 TraceCheckUtils]: 14: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:21:41,458 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13195#true} {13232#(<= 1 main_~x~0)} #80#return; {13232#(<= 1 main_~x~0)} is VALID [2022-04-28 12:21:41,458 INFO L290 TraceCheckUtils]: 16: Hoare triple {13232#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:41,458 INFO L272 TraceCheckUtils]: 17: Hoare triple {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:21:41,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:21:41,458 INFO L290 TraceCheckUtils]: 19: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:21:41,458 INFO L290 TraceCheckUtils]: 20: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:21:41,459 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13195#true} {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:41,459 INFO L272 TraceCheckUtils]: 22: Hoare triple {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:21:41,459 INFO L290 TraceCheckUtils]: 23: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:21:41,459 INFO L290 TraceCheckUtils]: 24: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:21:41,459 INFO L290 TraceCheckUtils]: 25: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:21:41,460 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13195#true} {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:41,460 INFO L290 TraceCheckUtils]: 27: Hoare triple {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:41,461 INFO L290 TraceCheckUtils]: 28: Hoare triple {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:41,461 INFO L290 TraceCheckUtils]: 29: Hoare triple {13251#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:41,462 INFO L290 TraceCheckUtils]: 30: Hoare triple {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:41,462 INFO L290 TraceCheckUtils]: 31: Hoare triple {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:41,462 INFO L272 TraceCheckUtils]: 32: Hoare triple {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:21:41,462 INFO L290 TraceCheckUtils]: 33: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:21:41,462 INFO L290 TraceCheckUtils]: 34: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:21:41,463 INFO L290 TraceCheckUtils]: 35: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:21:41,463 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13195#true} {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #86#return; {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:41,463 INFO L272 TraceCheckUtils]: 37: Hoare triple {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:21:41,463 INFO L290 TraceCheckUtils]: 38: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:21:41,464 INFO L290 TraceCheckUtils]: 39: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:21:41,464 INFO L290 TraceCheckUtils]: 40: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:21:41,464 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13195#true} {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #88#return; {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:41,464 INFO L272 TraceCheckUtils]: 42: Hoare triple {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:21:41,464 INFO L290 TraceCheckUtils]: 43: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:21:41,465 INFO L290 TraceCheckUtils]: 44: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:21:41,465 INFO L290 TraceCheckUtils]: 45: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:21:41,465 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13195#true} {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #90#return; {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:41,465 INFO L272 TraceCheckUtils]: 47: Hoare triple {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:21:41,466 INFO L290 TraceCheckUtils]: 48: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:21:41,466 INFO L290 TraceCheckUtils]: 49: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:21:41,466 INFO L290 TraceCheckUtils]: 50: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:21:41,480 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13195#true} {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #92#return; {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:41,480 INFO L290 TraceCheckUtils]: 52: Hoare triple {13291#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {13361#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:21:41,481 INFO L290 TraceCheckUtils]: 53: Hoare triple {13361#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:21:41,482 INFO L290 TraceCheckUtils]: 54: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:21:41,482 INFO L290 TraceCheckUtils]: 55: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:21:41,483 INFO L290 TraceCheckUtils]: 56: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:21:41,483 INFO L290 TraceCheckUtils]: 57: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:21:41,484 INFO L290 TraceCheckUtils]: 58: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post7 < 50);havoc #t~post7; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:21:41,484 INFO L272 TraceCheckUtils]: 59: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:21:41,484 INFO L290 TraceCheckUtils]: 60: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:21:41,484 INFO L290 TraceCheckUtils]: 61: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:21:41,484 INFO L290 TraceCheckUtils]: 62: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:21:41,485 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {13195#true} {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:21:41,485 INFO L272 TraceCheckUtils]: 64: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:21:41,485 INFO L290 TraceCheckUtils]: 65: Hoare triple {13195#true} ~cond := #in~cond; {13195#true} is VALID [2022-04-28 12:21:41,485 INFO L290 TraceCheckUtils]: 66: Hoare triple {13195#true} assume !(0 == ~cond); {13195#true} is VALID [2022-04-28 12:21:41,486 INFO L290 TraceCheckUtils]: 67: Hoare triple {13195#true} assume true; {13195#true} is VALID [2022-04-28 12:21:41,486 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {13195#true} {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:21:41,486 INFO L272 TraceCheckUtils]: 69: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13195#true} is VALID [2022-04-28 12:21:41,487 INFO L290 TraceCheckUtils]: 70: Hoare triple {13195#true} ~cond := #in~cond; {13417#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:41,487 INFO L290 TraceCheckUtils]: 71: Hoare triple {13417#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13421#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:41,487 INFO L290 TraceCheckUtils]: 72: Hoare triple {13421#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13421#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:41,488 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {13421#(not (= |__VERIFIER_assert_#in~cond| 0))} {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:21:41,489 INFO L272 TraceCheckUtils]: 74: Hoare triple {13365#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {13431#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:21:41,489 INFO L290 TraceCheckUtils]: 75: Hoare triple {13431#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13435#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:41,490 INFO L290 TraceCheckUtils]: 76: Hoare triple {13435#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13196#false} is VALID [2022-04-28 12:21:41,490 INFO L290 TraceCheckUtils]: 77: Hoare triple {13196#false} assume !false; {13196#false} is VALID [2022-04-28 12:21:41,490 INFO L134 CoverageAnalysis]: Checked inductivity of 131 backedges. 31 proven. 19 refuted. 0 times theorem prover too weak. 81 trivial. 0 not checked. [2022-04-28 12:21:41,491 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:22:15,995 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:22:15,995 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2129789322] [2022-04-28 12:22:15,995 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:22:15,995 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [575542682] [2022-04-28 12:22:15,995 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [575542682] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:22:15,996 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:22:15,996 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-28 12:22:15,996 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:22:15,996 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [572526299] [2022-04-28 12:22:15,996 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [572526299] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:22:15,996 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:22:15,996 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:22:15,996 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2089100235] [2022-04-28 12:22:15,996 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:22:15,996 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 78 [2022-04-28 12:22:15,997 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:22:15,997 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:22:16,045 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:16,046 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:22:16,046 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:16,046 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:22:16,046 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=175, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:22:16,046 INFO L87 Difference]: Start difference. First operand 194 states and 257 transitions. Second operand has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:22:21,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:21,723 INFO L93 Difference]: Finished difference Result 203 states and 265 transitions. [2022-04-28 12:22:21,723 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:22:21,723 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 78 [2022-04-28 12:22:21,723 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:22:21,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:22:21,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 97 transitions. [2022-04-28 12:22:21,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:22:21,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 97 transitions. [2022-04-28 12:22:21,726 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 97 transitions. [2022-04-28 12:22:21,850 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:21,854 INFO L225 Difference]: With dead ends: 203 [2022-04-28 12:22:21,854 INFO L226 Difference]: Without dead ends: 201 [2022-04-28 12:22:21,855 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 67 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=62, Invalid=318, Unknown=0, NotChecked=0, Total=380 [2022-04-28 12:22:21,855 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 55 mSDsluCounter, 193 mSDsCounter, 0 mSdLazyCounter, 413 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 443 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 413 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:22:21,855 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [65 Valid, 230 Invalid, 443 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 413 Invalid, 0 Unknown, 0 Unchecked, 2.2s Time] [2022-04-28 12:22:21,856 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 201 states. [2022-04-28 12:22:22,205 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 201 to 198. [2022-04-28 12:22:22,206 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:22:22,206 INFO L82 GeneralOperation]: Start isEquivalent. First operand 201 states. Second operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:22:22,207 INFO L74 IsIncluded]: Start isIncluded. First operand 201 states. Second operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:22:22,207 INFO L87 Difference]: Start difference. First operand 201 states. Second operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:22:22,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:22,213 INFO L93 Difference]: Finished difference Result 201 states and 263 transitions. [2022-04-28 12:22:22,213 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 263 transitions. [2022-04-28 12:22:22,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:22,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:22,214 INFO L74 IsIncluded]: Start isIncluded. First operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 201 states. [2022-04-28 12:22:22,214 INFO L87 Difference]: Start difference. First operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) Second operand 201 states. [2022-04-28 12:22:22,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:22,220 INFO L93 Difference]: Finished difference Result 201 states and 263 transitions. [2022-04-28 12:22:22,220 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 263 transitions. [2022-04-28 12:22:22,221 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:22,221 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:22,221 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:22:22,221 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:22:22,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 198 states, 123 states have (on average 1.2357723577235773) internal successors, (152), 127 states have internal predecessors, (152), 55 states have call successors, (55), 20 states have call predecessors, (55), 19 states have return successors, (53), 50 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 12:22:22,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 198 states to 198 states and 260 transitions. [2022-04-28 12:22:22,228 INFO L78 Accepts]: Start accepts. Automaton has 198 states and 260 transitions. Word has length 78 [2022-04-28 12:22:22,228 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:22:22,228 INFO L495 AbstractCegarLoop]: Abstraction has 198 states and 260 transitions. [2022-04-28 12:22:22,228 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.3846153846153846) internal successors, (31), 11 states have internal predecessors, (31), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:22:22,228 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 198 states and 260 transitions. [2022-04-28 12:22:22,660 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 260 edges. 260 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:22,661 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 260 transitions. [2022-04-28 12:22:22,661 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2022-04-28 12:22:22,661 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:22:22,662 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:22:22,687 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 12:22:22,862 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 12:22:22,862 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:22:22,863 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:22:22,863 INFO L85 PathProgramCache]: Analyzing trace with hash -1849570232, now seen corresponding path program 3 times [2022-04-28 12:22:22,863 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:22,863 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [666832816] [2022-04-28 12:22:22,863 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:22:22,863 INFO L85 PathProgramCache]: Analyzing trace with hash -1849570232, now seen corresponding path program 4 times [2022-04-28 12:22:22,863 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:22:22,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1415193604] [2022-04-28 12:22:22,864 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:22:22,864 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:22:22,874 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:22:22,874 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1079253752] [2022-04-28 12:22:22,874 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:22:22,874 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:22:22,874 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:22:22,875 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:22:22,879 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 12:22:22,921 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:22:22,921 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:22:22,922 INFO L263 TraceCheckSpWp]: Trace formula consists of 182 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 12:22:22,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:22:22,939 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:22:23,656 INFO L272 TraceCheckUtils]: 0: Hoare triple {14672#true} call ULTIMATE.init(); {14672#true} is VALID [2022-04-28 12:22:23,656 INFO L290 TraceCheckUtils]: 1: Hoare triple {14672#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {14672#true} is VALID [2022-04-28 12:22:23,656 INFO L290 TraceCheckUtils]: 2: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:23,656 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14672#true} {14672#true} #98#return; {14672#true} is VALID [2022-04-28 12:22:23,656 INFO L272 TraceCheckUtils]: 4: Hoare triple {14672#true} call #t~ret8 := main(); {14672#true} is VALID [2022-04-28 12:22:23,656 INFO L290 TraceCheckUtils]: 5: Hoare triple {14672#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14672#true} is VALID [2022-04-28 12:22:23,657 INFO L272 TraceCheckUtils]: 6: Hoare triple {14672#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:23,657 INFO L290 TraceCheckUtils]: 7: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:23,657 INFO L290 TraceCheckUtils]: 8: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:23,657 INFO L290 TraceCheckUtils]: 9: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:23,657 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14672#true} {14672#true} #78#return; {14672#true} is VALID [2022-04-28 12:22:23,657 INFO L272 TraceCheckUtils]: 11: Hoare triple {14672#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:23,657 INFO L290 TraceCheckUtils]: 12: Hoare triple {14672#true} ~cond := #in~cond; {14713#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:22:23,657 INFO L290 TraceCheckUtils]: 13: Hoare triple {14713#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14717#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:22:23,658 INFO L290 TraceCheckUtils]: 14: Hoare triple {14717#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14717#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:22:23,658 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14717#(not (= |assume_abort_if_not_#in~cond| 0))} {14672#true} #80#return; {14724#(<= 1 main_~y~0)} is VALID [2022-04-28 12:22:23,659 INFO L290 TraceCheckUtils]: 16: Hoare triple {14724#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {14728#(<= 1 main_~b~0)} is VALID [2022-04-28 12:22:23,659 INFO L272 TraceCheckUtils]: 17: Hoare triple {14728#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:23,659 INFO L290 TraceCheckUtils]: 18: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:23,659 INFO L290 TraceCheckUtils]: 19: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:23,659 INFO L290 TraceCheckUtils]: 20: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:23,659 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14672#true} {14728#(<= 1 main_~b~0)} #82#return; {14728#(<= 1 main_~b~0)} is VALID [2022-04-28 12:22:23,659 INFO L272 TraceCheckUtils]: 22: Hoare triple {14728#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:23,659 INFO L290 TraceCheckUtils]: 23: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:23,660 INFO L290 TraceCheckUtils]: 24: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:23,660 INFO L290 TraceCheckUtils]: 25: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:23,660 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14672#true} {14728#(<= 1 main_~b~0)} #84#return; {14728#(<= 1 main_~b~0)} is VALID [2022-04-28 12:22:23,660 INFO L290 TraceCheckUtils]: 27: Hoare triple {14728#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14728#(<= 1 main_~b~0)} is VALID [2022-04-28 12:22:23,661 INFO L290 TraceCheckUtils]: 28: Hoare triple {14728#(<= 1 main_~b~0)} assume !!(#t~post6 < 50);havoc #t~post6; {14728#(<= 1 main_~b~0)} is VALID [2022-04-28 12:22:23,661 INFO L290 TraceCheckUtils]: 29: Hoare triple {14728#(<= 1 main_~b~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,661 INFO L290 TraceCheckUtils]: 30: Hoare triple {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,662 INFO L290 TraceCheckUtils]: 31: Hoare triple {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} assume !!(#t~post7 < 50);havoc #t~post7; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,662 INFO L272 TraceCheckUtils]: 32: Hoare triple {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:23,662 INFO L290 TraceCheckUtils]: 33: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:23,662 INFO L290 TraceCheckUtils]: 34: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:23,662 INFO L290 TraceCheckUtils]: 35: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:23,662 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14672#true} {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #86#return; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,662 INFO L272 TraceCheckUtils]: 37: Hoare triple {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:23,663 INFO L290 TraceCheckUtils]: 38: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:23,663 INFO L290 TraceCheckUtils]: 39: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:23,663 INFO L290 TraceCheckUtils]: 40: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:23,663 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14672#true} {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #88#return; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,663 INFO L272 TraceCheckUtils]: 42: Hoare triple {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:23,663 INFO L290 TraceCheckUtils]: 43: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:23,664 INFO L290 TraceCheckUtils]: 44: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:23,664 INFO L290 TraceCheckUtils]: 45: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:23,665 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14672#true} {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #90#return; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,665 INFO L272 TraceCheckUtils]: 47: Hoare triple {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:23,665 INFO L290 TraceCheckUtils]: 48: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:23,665 INFO L290 TraceCheckUtils]: 49: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:23,665 INFO L290 TraceCheckUtils]: 50: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:23,666 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14672#true} {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #92#return; {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,666 INFO L290 TraceCheckUtils]: 52: Hoare triple {14768#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,667 INFO L290 TraceCheckUtils]: 53: Hoare triple {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,667 INFO L290 TraceCheckUtils]: 54: Hoare triple {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} assume !!(#t~post7 < 50);havoc #t~post7; {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,667 INFO L272 TraceCheckUtils]: 55: Hoare triple {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:23,668 INFO L290 TraceCheckUtils]: 56: Hoare triple {14672#true} ~cond := #in~cond; {14851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:23,668 INFO L290 TraceCheckUtils]: 57: Hoare triple {14851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:23,668 INFO L290 TraceCheckUtils]: 58: Hoare triple {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:23,669 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} {14838#(and (<= 1 main_~k~0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} #86#return; {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,669 INFO L272 TraceCheckUtils]: 60: Hoare triple {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:23,669 INFO L290 TraceCheckUtils]: 61: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:23,669 INFO L290 TraceCheckUtils]: 62: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:23,669 INFO L290 TraceCheckUtils]: 63: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:23,676 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14672#true} {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} #88#return; {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,676 INFO L272 TraceCheckUtils]: 65: Hoare triple {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:23,676 INFO L290 TraceCheckUtils]: 66: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:23,676 INFO L290 TraceCheckUtils]: 67: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:23,676 INFO L290 TraceCheckUtils]: 68: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:23,677 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14672#true} {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} #90#return; {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,677 INFO L272 TraceCheckUtils]: 70: Hoare triple {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:23,677 INFO L290 TraceCheckUtils]: 71: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:23,677 INFO L290 TraceCheckUtils]: 72: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:23,677 INFO L290 TraceCheckUtils]: 73: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:23,678 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {14672#true} {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} #92#return; {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,680 INFO L290 TraceCheckUtils]: 75: Hoare triple {14862#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~b~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14911#(and (= (+ main_~a~0 (* (- 1) main_~b~0) (* (+ (- 1) main_~k~0) main_~b~0)) main_~a~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,681 INFO L290 TraceCheckUtils]: 76: Hoare triple {14911#(and (= (+ main_~a~0 (* (- 1) main_~b~0) (* (+ (- 1) main_~k~0) main_~b~0)) main_~a~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (<= 1 main_~b~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14911#(and (= (+ main_~a~0 (* (- 1) main_~b~0) (* (+ (- 1) main_~k~0) main_~b~0)) main_~a~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,681 INFO L290 TraceCheckUtils]: 77: Hoare triple {14911#(and (= (+ main_~a~0 (* (- 1) main_~b~0) (* (+ (- 1) main_~k~0) main_~b~0)) main_~a~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (<= 1 main_~b~0))} assume !!(#t~post7 < 50);havoc #t~post7; {14911#(and (= (+ main_~a~0 (* (- 1) main_~b~0) (* (+ (- 1) main_~k~0) main_~b~0)) main_~a~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:22:23,682 INFO L272 TraceCheckUtils]: 78: Hoare triple {14911#(and (= (+ main_~a~0 (* (- 1) main_~b~0) (* (+ (- 1) main_~k~0) main_~b~0)) main_~a~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14921#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:22:23,682 INFO L290 TraceCheckUtils]: 79: Hoare triple {14921#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14925#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:23,683 INFO L290 TraceCheckUtils]: 80: Hoare triple {14925#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14673#false} is VALID [2022-04-28 12:22:23,683 INFO L290 TraceCheckUtils]: 81: Hoare triple {14673#false} assume !false; {14673#false} is VALID [2022-04-28 12:22:23,683 INFO L134 CoverageAnalysis]: Checked inductivity of 165 backedges. 30 proven. 29 refuted. 0 times theorem prover too weak. 106 trivial. 0 not checked. [2022-04-28 12:22:23,683 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:22:34,502 INFO L290 TraceCheckUtils]: 81: Hoare triple {14673#false} assume !false; {14673#false} is VALID [2022-04-28 12:22:34,502 INFO L290 TraceCheckUtils]: 80: Hoare triple {14925#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14673#false} is VALID [2022-04-28 12:22:34,502 INFO L290 TraceCheckUtils]: 79: Hoare triple {14921#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14925#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:34,503 INFO L272 TraceCheckUtils]: 78: Hoare triple {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14921#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:22:34,503 INFO L290 TraceCheckUtils]: 77: Hoare triple {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(#t~post7 < 50);havoc #t~post7; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:22:34,504 INFO L290 TraceCheckUtils]: 76: Hoare triple {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:22:34,505 INFO L290 TraceCheckUtils]: 75: Hoare triple {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:22:34,506 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {14672#true} {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #92#return; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:22:34,506 INFO L290 TraceCheckUtils]: 73: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:34,506 INFO L290 TraceCheckUtils]: 72: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:34,506 INFO L290 TraceCheckUtils]: 71: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:34,506 INFO L272 TraceCheckUtils]: 70: Hoare triple {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:34,507 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {14672#true} {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:22:34,507 INFO L290 TraceCheckUtils]: 68: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:34,507 INFO L290 TraceCheckUtils]: 67: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:34,507 INFO L290 TraceCheckUtils]: 66: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:34,507 INFO L272 TraceCheckUtils]: 65: Hoare triple {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:34,508 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14672#true} {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:22:34,508 INFO L290 TraceCheckUtils]: 63: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:34,508 INFO L290 TraceCheckUtils]: 62: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:34,508 INFO L290 TraceCheckUtils]: 61: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:34,508 INFO L272 TraceCheckUtils]: 60: Hoare triple {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:34,509 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} {14672#true} #86#return; {14941#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:22:34,509 INFO L290 TraceCheckUtils]: 58: Hoare triple {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:34,509 INFO L290 TraceCheckUtils]: 57: Hoare triple {15008#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:34,510 INFO L290 TraceCheckUtils]: 56: Hoare triple {14672#true} ~cond := #in~cond; {15008#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:22:34,510 INFO L272 TraceCheckUtils]: 55: Hoare triple {14672#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:34,510 INFO L290 TraceCheckUtils]: 54: Hoare triple {14672#true} assume !!(#t~post7 < 50);havoc #t~post7; {14672#true} is VALID [2022-04-28 12:22:34,510 INFO L290 TraceCheckUtils]: 53: Hoare triple {14672#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14672#true} is VALID [2022-04-28 12:22:34,510 INFO L290 TraceCheckUtils]: 52: Hoare triple {14672#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14672#true} is VALID [2022-04-28 12:22:34,510 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {14672#true} {14672#true} #92#return; {14672#true} is VALID [2022-04-28 12:22:34,510 INFO L290 TraceCheckUtils]: 50: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:34,510 INFO L290 TraceCheckUtils]: 49: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:34,510 INFO L290 TraceCheckUtils]: 48: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:34,510 INFO L272 TraceCheckUtils]: 47: Hoare triple {14672#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:34,510 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14672#true} {14672#true} #90#return; {14672#true} is VALID [2022-04-28 12:22:34,510 INFO L290 TraceCheckUtils]: 45: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:34,510 INFO L290 TraceCheckUtils]: 44: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:34,511 INFO L290 TraceCheckUtils]: 43: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:34,511 INFO L272 TraceCheckUtils]: 42: Hoare triple {14672#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:34,511 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14672#true} {14672#true} #88#return; {14672#true} is VALID [2022-04-28 12:22:34,511 INFO L290 TraceCheckUtils]: 40: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:34,511 INFO L290 TraceCheckUtils]: 39: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:34,511 INFO L290 TraceCheckUtils]: 38: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:34,511 INFO L272 TraceCheckUtils]: 37: Hoare triple {14672#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:34,511 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14672#true} {14672#true} #86#return; {14672#true} is VALID [2022-04-28 12:22:34,511 INFO L290 TraceCheckUtils]: 35: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:34,511 INFO L290 TraceCheckUtils]: 34: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:34,511 INFO L290 TraceCheckUtils]: 33: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:34,511 INFO L272 TraceCheckUtils]: 32: Hoare triple {14672#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:34,511 INFO L290 TraceCheckUtils]: 31: Hoare triple {14672#true} assume !!(#t~post7 < 50);havoc #t~post7; {14672#true} is VALID [2022-04-28 12:22:34,512 INFO L290 TraceCheckUtils]: 30: Hoare triple {14672#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14672#true} is VALID [2022-04-28 12:22:34,512 INFO L290 TraceCheckUtils]: 29: Hoare triple {14672#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14672#true} is VALID [2022-04-28 12:22:34,512 INFO L290 TraceCheckUtils]: 28: Hoare triple {14672#true} assume !!(#t~post6 < 50);havoc #t~post6; {14672#true} is VALID [2022-04-28 12:22:34,512 INFO L290 TraceCheckUtils]: 27: Hoare triple {14672#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14672#true} is VALID [2022-04-28 12:22:34,512 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14672#true} {14672#true} #84#return; {14672#true} is VALID [2022-04-28 12:22:34,512 INFO L290 TraceCheckUtils]: 25: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:34,512 INFO L290 TraceCheckUtils]: 24: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:34,512 INFO L290 TraceCheckUtils]: 23: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:34,512 INFO L272 TraceCheckUtils]: 22: Hoare triple {14672#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:34,512 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14672#true} {14672#true} #82#return; {14672#true} is VALID [2022-04-28 12:22:34,512 INFO L290 TraceCheckUtils]: 20: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:34,512 INFO L290 TraceCheckUtils]: 19: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:34,512 INFO L290 TraceCheckUtils]: 18: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:34,512 INFO L272 TraceCheckUtils]: 17: Hoare triple {14672#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:34,512 INFO L290 TraceCheckUtils]: 16: Hoare triple {14672#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {14672#true} is VALID [2022-04-28 12:22:34,513 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14672#true} {14672#true} #80#return; {14672#true} is VALID [2022-04-28 12:22:34,513 INFO L290 TraceCheckUtils]: 14: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:34,513 INFO L290 TraceCheckUtils]: 13: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:34,513 INFO L290 TraceCheckUtils]: 12: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:34,513 INFO L272 TraceCheckUtils]: 11: Hoare triple {14672#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:34,513 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14672#true} {14672#true} #78#return; {14672#true} is VALID [2022-04-28 12:22:34,513 INFO L290 TraceCheckUtils]: 9: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:34,513 INFO L290 TraceCheckUtils]: 8: Hoare triple {14672#true} assume !(0 == ~cond); {14672#true} is VALID [2022-04-28 12:22:34,513 INFO L290 TraceCheckUtils]: 7: Hoare triple {14672#true} ~cond := #in~cond; {14672#true} is VALID [2022-04-28 12:22:34,513 INFO L272 TraceCheckUtils]: 6: Hoare triple {14672#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14672#true} is VALID [2022-04-28 12:22:34,513 INFO L290 TraceCheckUtils]: 5: Hoare triple {14672#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14672#true} is VALID [2022-04-28 12:22:34,513 INFO L272 TraceCheckUtils]: 4: Hoare triple {14672#true} call #t~ret8 := main(); {14672#true} is VALID [2022-04-28 12:22:34,513 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14672#true} {14672#true} #98#return; {14672#true} is VALID [2022-04-28 12:22:34,513 INFO L290 TraceCheckUtils]: 2: Hoare triple {14672#true} assume true; {14672#true} is VALID [2022-04-28 12:22:34,514 INFO L290 TraceCheckUtils]: 1: Hoare triple {14672#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {14672#true} is VALID [2022-04-28 12:22:34,514 INFO L272 TraceCheckUtils]: 0: Hoare triple {14672#true} call ULTIMATE.init(); {14672#true} is VALID [2022-04-28 12:22:34,514 INFO L134 CoverageAnalysis]: Checked inductivity of 165 backedges. 37 proven. 10 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-28 12:22:34,514 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:22:34,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1415193604] [2022-04-28 12:22:34,514 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:22:34,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1079253752] [2022-04-28 12:22:34,514 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1079253752] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:22:34,514 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:22:34,514 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 7] total 16 [2022-04-28 12:22:34,515 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:22:34,515 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [666832816] [2022-04-28 12:22:34,515 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [666832816] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:22:34,515 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:22:34,515 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 12:22:34,515 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1998169015] [2022-04-28 12:22:34,515 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:22:34,516 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 82 [2022-04-28 12:22:34,516 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:22:34,516 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), 11 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:22:34,563 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:34,563 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 12:22:34,563 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:34,563 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 12:22:34,563 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=199, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:22:34,564 INFO L87 Difference]: Start difference. First operand 198 states and 260 transitions. Second operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:22:36,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:36,630 INFO L93 Difference]: Finished difference Result 212 states and 278 transitions. [2022-04-28 12:22:36,630 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:22:36,630 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 82 [2022-04-28 12:22:36,630 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:22:36,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:22:36,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 106 transitions. [2022-04-28 12:22:36,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:22:36,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 106 transitions. [2022-04-28 12:22:36,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 106 transitions. [2022-04-28 12:22:36,751 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:36,756 INFO L225 Difference]: With dead ends: 212 [2022-04-28 12:22:36,756 INFO L226 Difference]: Without dead ends: 210 [2022-04-28 12:22:36,756 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 147 SyntacticMatches, 2 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=84, Invalid=422, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:22:36,757 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 55 mSDsluCounter, 183 mSDsCounter, 0 mSdLazyCounter, 457 mSolverCounterSat, 51 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 223 SdHoareTripleChecker+Invalid, 508 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 51 IncrementalHoareTripleChecker+Valid, 457 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 12:22:36,757 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [60 Valid, 223 Invalid, 508 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [51 Valid, 457 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 12:22:36,757 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-04-28 12:22:37,111 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 203. [2022-04-28 12:22:37,111 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:22:37,111 INFO L82 GeneralOperation]: Start isEquivalent. First operand 210 states. Second operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:22:37,112 INFO L74 IsIncluded]: Start isIncluded. First operand 210 states. Second operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:22:37,112 INFO L87 Difference]: Start difference. First operand 210 states. Second operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:22:37,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:37,118 INFO L93 Difference]: Finished difference Result 210 states and 276 transitions. [2022-04-28 12:22:37,118 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 276 transitions. [2022-04-28 12:22:37,119 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:37,119 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:37,119 INFO L74 IsIncluded]: Start isIncluded. First operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 210 states. [2022-04-28 12:22:37,120 INFO L87 Difference]: Start difference. First operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 210 states. [2022-04-28 12:22:37,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:37,125 INFO L93 Difference]: Finished difference Result 210 states and 276 transitions. [2022-04-28 12:22:37,125 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 276 transitions. [2022-04-28 12:22:37,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:37,126 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:37,126 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:22:37,126 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:22:37,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 203 states, 126 states have (on average 1.2301587301587302) internal successors, (155), 131 states have internal predecessors, (155), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:22:37,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 203 states to 203 states and 265 transitions. [2022-04-28 12:22:37,133 INFO L78 Accepts]: Start accepts. Automaton has 203 states and 265 transitions. Word has length 82 [2022-04-28 12:22:37,133 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:22:37,133 INFO L495 AbstractCegarLoop]: Abstraction has 203 states and 265 transitions. [2022-04-28 12:22:37,133 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 11 states have internal predecessors, (30), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:22:37,133 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 203 states and 265 transitions. [2022-04-28 12:22:37,532 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 265 edges. 265 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:37,532 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 265 transitions. [2022-04-28 12:22:37,533 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 84 [2022-04-28 12:22:37,533 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:22:37,533 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:22:37,558 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 12:22:37,733 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 12:22:37,734 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:22:37,734 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:22:37,734 INFO L85 PathProgramCache]: Analyzing trace with hash 1768368813, now seen corresponding path program 1 times [2022-04-28 12:22:37,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:37,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1351497394] [2022-04-28 12:22:37,735 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:22:37,735 INFO L85 PathProgramCache]: Analyzing trace with hash 1768368813, now seen corresponding path program 2 times [2022-04-28 12:22:37,735 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:22:37,735 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1464367747] [2022-04-28 12:22:37,735 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:22:37,735 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:22:37,749 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:22:37,749 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2128830733] [2022-04-28 12:22:37,749 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:22:37,749 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:22:37,749 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:22:37,751 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:22:37,752 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 12:22:37,798 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:22:37,798 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:22:37,799 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:22:37,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:22:37,816 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:22:38,108 INFO L272 TraceCheckUtils]: 0: Hoare triple {16443#true} call ULTIMATE.init(); {16443#true} is VALID [2022-04-28 12:22:38,109 INFO L290 TraceCheckUtils]: 1: Hoare triple {16443#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,109 INFO L290 TraceCheckUtils]: 2: Hoare triple {16451#(<= ~counter~0 0)} assume true; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,110 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16451#(<= ~counter~0 0)} {16443#true} #98#return; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,110 INFO L272 TraceCheckUtils]: 4: Hoare triple {16451#(<= ~counter~0 0)} call #t~ret8 := main(); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,110 INFO L290 TraceCheckUtils]: 5: Hoare triple {16451#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,111 INFO L272 TraceCheckUtils]: 6: Hoare triple {16451#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,111 INFO L290 TraceCheckUtils]: 7: Hoare triple {16451#(<= ~counter~0 0)} ~cond := #in~cond; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,111 INFO L290 TraceCheckUtils]: 8: Hoare triple {16451#(<= ~counter~0 0)} assume !(0 == ~cond); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,111 INFO L290 TraceCheckUtils]: 9: Hoare triple {16451#(<= ~counter~0 0)} assume true; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,112 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16451#(<= ~counter~0 0)} {16451#(<= ~counter~0 0)} #78#return; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,112 INFO L272 TraceCheckUtils]: 11: Hoare triple {16451#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,112 INFO L290 TraceCheckUtils]: 12: Hoare triple {16451#(<= ~counter~0 0)} ~cond := #in~cond; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,113 INFO L290 TraceCheckUtils]: 13: Hoare triple {16451#(<= ~counter~0 0)} assume !(0 == ~cond); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,113 INFO L290 TraceCheckUtils]: 14: Hoare triple {16451#(<= ~counter~0 0)} assume true; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,113 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16451#(<= ~counter~0 0)} {16451#(<= ~counter~0 0)} #80#return; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,114 INFO L290 TraceCheckUtils]: 16: Hoare triple {16451#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,114 INFO L272 TraceCheckUtils]: 17: Hoare triple {16451#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,114 INFO L290 TraceCheckUtils]: 18: Hoare triple {16451#(<= ~counter~0 0)} ~cond := #in~cond; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,114 INFO L290 TraceCheckUtils]: 19: Hoare triple {16451#(<= ~counter~0 0)} assume !(0 == ~cond); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,115 INFO L290 TraceCheckUtils]: 20: Hoare triple {16451#(<= ~counter~0 0)} assume true; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,115 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16451#(<= ~counter~0 0)} {16451#(<= ~counter~0 0)} #82#return; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,115 INFO L272 TraceCheckUtils]: 22: Hoare triple {16451#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,116 INFO L290 TraceCheckUtils]: 23: Hoare triple {16451#(<= ~counter~0 0)} ~cond := #in~cond; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,116 INFO L290 TraceCheckUtils]: 24: Hoare triple {16451#(<= ~counter~0 0)} assume !(0 == ~cond); {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,116 INFO L290 TraceCheckUtils]: 25: Hoare triple {16451#(<= ~counter~0 0)} assume true; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,117 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16451#(<= ~counter~0 0)} {16451#(<= ~counter~0 0)} #84#return; {16451#(<= ~counter~0 0)} is VALID [2022-04-28 12:22:38,117 INFO L290 TraceCheckUtils]: 27: Hoare triple {16451#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16530#(<= ~counter~0 1)} is VALID [2022-04-28 12:22:38,118 INFO L290 TraceCheckUtils]: 28: Hoare triple {16530#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {16530#(<= ~counter~0 1)} is VALID [2022-04-28 12:22:38,118 INFO L290 TraceCheckUtils]: 29: Hoare triple {16530#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16530#(<= ~counter~0 1)} is VALID [2022-04-28 12:22:38,118 INFO L290 TraceCheckUtils]: 30: Hoare triple {16530#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,119 INFO L290 TraceCheckUtils]: 31: Hoare triple {16540#(<= ~counter~0 2)} assume !!(#t~post7 < 50);havoc #t~post7; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,119 INFO L272 TraceCheckUtils]: 32: Hoare triple {16540#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,119 INFO L290 TraceCheckUtils]: 33: Hoare triple {16540#(<= ~counter~0 2)} ~cond := #in~cond; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,120 INFO L290 TraceCheckUtils]: 34: Hoare triple {16540#(<= ~counter~0 2)} assume !(0 == ~cond); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,120 INFO L290 TraceCheckUtils]: 35: Hoare triple {16540#(<= ~counter~0 2)} assume true; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,121 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16540#(<= ~counter~0 2)} {16540#(<= ~counter~0 2)} #86#return; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,121 INFO L272 TraceCheckUtils]: 37: Hoare triple {16540#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,121 INFO L290 TraceCheckUtils]: 38: Hoare triple {16540#(<= ~counter~0 2)} ~cond := #in~cond; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,122 INFO L290 TraceCheckUtils]: 39: Hoare triple {16540#(<= ~counter~0 2)} assume !(0 == ~cond); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,122 INFO L290 TraceCheckUtils]: 40: Hoare triple {16540#(<= ~counter~0 2)} assume true; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,122 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16540#(<= ~counter~0 2)} {16540#(<= ~counter~0 2)} #88#return; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,123 INFO L272 TraceCheckUtils]: 42: Hoare triple {16540#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,123 INFO L290 TraceCheckUtils]: 43: Hoare triple {16540#(<= ~counter~0 2)} ~cond := #in~cond; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,123 INFO L290 TraceCheckUtils]: 44: Hoare triple {16540#(<= ~counter~0 2)} assume !(0 == ~cond); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,124 INFO L290 TraceCheckUtils]: 45: Hoare triple {16540#(<= ~counter~0 2)} assume true; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,124 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16540#(<= ~counter~0 2)} {16540#(<= ~counter~0 2)} #90#return; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,125 INFO L272 TraceCheckUtils]: 47: Hoare triple {16540#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,125 INFO L290 TraceCheckUtils]: 48: Hoare triple {16540#(<= ~counter~0 2)} ~cond := #in~cond; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,125 INFO L290 TraceCheckUtils]: 49: Hoare triple {16540#(<= ~counter~0 2)} assume !(0 == ~cond); {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,126 INFO L290 TraceCheckUtils]: 50: Hoare triple {16540#(<= ~counter~0 2)} assume true; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,126 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {16540#(<= ~counter~0 2)} {16540#(<= ~counter~0 2)} #92#return; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,126 INFO L290 TraceCheckUtils]: 52: Hoare triple {16540#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16540#(<= ~counter~0 2)} is VALID [2022-04-28 12:22:38,127 INFO L290 TraceCheckUtils]: 53: Hoare triple {16540#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,127 INFO L290 TraceCheckUtils]: 54: Hoare triple {16610#(<= ~counter~0 3)} assume !!(#t~post7 < 50);havoc #t~post7; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,128 INFO L272 TraceCheckUtils]: 55: Hoare triple {16610#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,128 INFO L290 TraceCheckUtils]: 56: Hoare triple {16610#(<= ~counter~0 3)} ~cond := #in~cond; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,128 INFO L290 TraceCheckUtils]: 57: Hoare triple {16610#(<= ~counter~0 3)} assume !(0 == ~cond); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,129 INFO L290 TraceCheckUtils]: 58: Hoare triple {16610#(<= ~counter~0 3)} assume true; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,129 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16610#(<= ~counter~0 3)} {16610#(<= ~counter~0 3)} #86#return; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,130 INFO L272 TraceCheckUtils]: 60: Hoare triple {16610#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,130 INFO L290 TraceCheckUtils]: 61: Hoare triple {16610#(<= ~counter~0 3)} ~cond := #in~cond; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,130 INFO L290 TraceCheckUtils]: 62: Hoare triple {16610#(<= ~counter~0 3)} assume !(0 == ~cond); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,130 INFO L290 TraceCheckUtils]: 63: Hoare triple {16610#(<= ~counter~0 3)} assume true; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,131 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {16610#(<= ~counter~0 3)} {16610#(<= ~counter~0 3)} #88#return; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,131 INFO L272 TraceCheckUtils]: 65: Hoare triple {16610#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,132 INFO L290 TraceCheckUtils]: 66: Hoare triple {16610#(<= ~counter~0 3)} ~cond := #in~cond; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,132 INFO L290 TraceCheckUtils]: 67: Hoare triple {16610#(<= ~counter~0 3)} assume !(0 == ~cond); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,132 INFO L290 TraceCheckUtils]: 68: Hoare triple {16610#(<= ~counter~0 3)} assume true; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,133 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {16610#(<= ~counter~0 3)} {16610#(<= ~counter~0 3)} #90#return; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,133 INFO L272 TraceCheckUtils]: 70: Hoare triple {16610#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,134 INFO L290 TraceCheckUtils]: 71: Hoare triple {16610#(<= ~counter~0 3)} ~cond := #in~cond; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,134 INFO L290 TraceCheckUtils]: 72: Hoare triple {16610#(<= ~counter~0 3)} assume !(0 == ~cond); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,135 INFO L290 TraceCheckUtils]: 73: Hoare triple {16610#(<= ~counter~0 3)} assume true; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,136 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {16610#(<= ~counter~0 3)} {16610#(<= ~counter~0 3)} #92#return; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,136 INFO L290 TraceCheckUtils]: 75: Hoare triple {16610#(<= ~counter~0 3)} assume !(~c~0 >= ~b~0); {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,137 INFO L290 TraceCheckUtils]: 76: Hoare triple {16610#(<= ~counter~0 3)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {16610#(<= ~counter~0 3)} is VALID [2022-04-28 12:22:38,137 INFO L290 TraceCheckUtils]: 77: Hoare triple {16610#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16683#(<= |main_#t~post6| 3)} is VALID [2022-04-28 12:22:38,137 INFO L290 TraceCheckUtils]: 78: Hoare triple {16683#(<= |main_#t~post6| 3)} assume !(#t~post6 < 50);havoc #t~post6; {16444#false} is VALID [2022-04-28 12:22:38,138 INFO L272 TraceCheckUtils]: 79: Hoare triple {16444#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {16444#false} is VALID [2022-04-28 12:22:38,138 INFO L290 TraceCheckUtils]: 80: Hoare triple {16444#false} ~cond := #in~cond; {16444#false} is VALID [2022-04-28 12:22:38,138 INFO L290 TraceCheckUtils]: 81: Hoare triple {16444#false} assume 0 == ~cond; {16444#false} is VALID [2022-04-28 12:22:38,138 INFO L290 TraceCheckUtils]: 82: Hoare triple {16444#false} assume !false; {16444#false} is VALID [2022-04-28 12:22:38,138 INFO L134 CoverageAnalysis]: Checked inductivity of 161 backedges. 16 proven. 73 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-28 12:22:38,138 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:22:38,440 INFO L290 TraceCheckUtils]: 82: Hoare triple {16444#false} assume !false; {16444#false} is VALID [2022-04-28 12:22:38,440 INFO L290 TraceCheckUtils]: 81: Hoare triple {16444#false} assume 0 == ~cond; {16444#false} is VALID [2022-04-28 12:22:38,440 INFO L290 TraceCheckUtils]: 80: Hoare triple {16444#false} ~cond := #in~cond; {16444#false} is VALID [2022-04-28 12:22:38,440 INFO L272 TraceCheckUtils]: 79: Hoare triple {16444#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {16444#false} is VALID [2022-04-28 12:22:38,440 INFO L290 TraceCheckUtils]: 78: Hoare triple {16711#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {16444#false} is VALID [2022-04-28 12:22:38,441 INFO L290 TraceCheckUtils]: 77: Hoare triple {16715#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16711#(< |main_#t~post6| 50)} is VALID [2022-04-28 12:22:38,441 INFO L290 TraceCheckUtils]: 76: Hoare triple {16715#(< ~counter~0 50)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {16715#(< ~counter~0 50)} is VALID [2022-04-28 12:22:38,441 INFO L290 TraceCheckUtils]: 75: Hoare triple {16715#(< ~counter~0 50)} assume !(~c~0 >= ~b~0); {16715#(< ~counter~0 50)} is VALID [2022-04-28 12:22:38,442 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {16443#true} {16715#(< ~counter~0 50)} #92#return; {16715#(< ~counter~0 50)} is VALID [2022-04-28 12:22:38,442 INFO L290 TraceCheckUtils]: 73: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:22:38,442 INFO L290 TraceCheckUtils]: 72: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:22:38,442 INFO L290 TraceCheckUtils]: 71: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:22:38,442 INFO L272 TraceCheckUtils]: 70: Hoare triple {16715#(< ~counter~0 50)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:22:38,443 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {16443#true} {16715#(< ~counter~0 50)} #90#return; {16715#(< ~counter~0 50)} is VALID [2022-04-28 12:22:38,443 INFO L290 TraceCheckUtils]: 68: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:22:38,443 INFO L290 TraceCheckUtils]: 67: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:22:38,443 INFO L290 TraceCheckUtils]: 66: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:22:38,443 INFO L272 TraceCheckUtils]: 65: Hoare triple {16715#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:22:38,443 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {16443#true} {16715#(< ~counter~0 50)} #88#return; {16715#(< ~counter~0 50)} is VALID [2022-04-28 12:22:38,443 INFO L290 TraceCheckUtils]: 63: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:22:38,444 INFO L290 TraceCheckUtils]: 62: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:22:38,444 INFO L290 TraceCheckUtils]: 61: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:22:38,444 INFO L272 TraceCheckUtils]: 60: Hoare triple {16715#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:22:38,444 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16443#true} {16715#(< ~counter~0 50)} #86#return; {16715#(< ~counter~0 50)} is VALID [2022-04-28 12:22:38,444 INFO L290 TraceCheckUtils]: 58: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:22:38,444 INFO L290 TraceCheckUtils]: 57: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:22:38,444 INFO L290 TraceCheckUtils]: 56: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:22:38,444 INFO L272 TraceCheckUtils]: 55: Hoare triple {16715#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:22:38,445 INFO L290 TraceCheckUtils]: 54: Hoare triple {16715#(< ~counter~0 50)} assume !!(#t~post7 < 50);havoc #t~post7; {16715#(< ~counter~0 50)} is VALID [2022-04-28 12:22:38,445 INFO L290 TraceCheckUtils]: 53: Hoare triple {16788#(< ~counter~0 49)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16715#(< ~counter~0 50)} is VALID [2022-04-28 12:22:38,446 INFO L290 TraceCheckUtils]: 52: Hoare triple {16788#(< ~counter~0 49)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16788#(< ~counter~0 49)} is VALID [2022-04-28 12:22:38,446 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {16443#true} {16788#(< ~counter~0 49)} #92#return; {16788#(< ~counter~0 49)} is VALID [2022-04-28 12:22:38,446 INFO L290 TraceCheckUtils]: 50: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:22:38,446 INFO L290 TraceCheckUtils]: 49: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:22:38,447 INFO L290 TraceCheckUtils]: 48: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:22:38,447 INFO L272 TraceCheckUtils]: 47: Hoare triple {16788#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:22:38,447 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16443#true} {16788#(< ~counter~0 49)} #90#return; {16788#(< ~counter~0 49)} is VALID [2022-04-28 12:22:38,447 INFO L290 TraceCheckUtils]: 45: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:22:38,447 INFO L290 TraceCheckUtils]: 44: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:22:38,447 INFO L290 TraceCheckUtils]: 43: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:22:38,447 INFO L272 TraceCheckUtils]: 42: Hoare triple {16788#(< ~counter~0 49)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:22:38,448 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16443#true} {16788#(< ~counter~0 49)} #88#return; {16788#(< ~counter~0 49)} is VALID [2022-04-28 12:22:38,448 INFO L290 TraceCheckUtils]: 40: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:22:38,448 INFO L290 TraceCheckUtils]: 39: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:22:38,448 INFO L290 TraceCheckUtils]: 38: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:22:38,448 INFO L272 TraceCheckUtils]: 37: Hoare triple {16788#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:22:38,449 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16443#true} {16788#(< ~counter~0 49)} #86#return; {16788#(< ~counter~0 49)} is VALID [2022-04-28 12:22:38,449 INFO L290 TraceCheckUtils]: 35: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:22:38,449 INFO L290 TraceCheckUtils]: 34: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:22:38,449 INFO L290 TraceCheckUtils]: 33: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:22:38,449 INFO L272 TraceCheckUtils]: 32: Hoare triple {16788#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:22:38,449 INFO L290 TraceCheckUtils]: 31: Hoare triple {16788#(< ~counter~0 49)} assume !!(#t~post7 < 50);havoc #t~post7; {16788#(< ~counter~0 49)} is VALID [2022-04-28 12:22:38,450 INFO L290 TraceCheckUtils]: 30: Hoare triple {16858#(< ~counter~0 48)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16788#(< ~counter~0 49)} is VALID [2022-04-28 12:22:38,450 INFO L290 TraceCheckUtils]: 29: Hoare triple {16858#(< ~counter~0 48)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16858#(< ~counter~0 48)} is VALID [2022-04-28 12:22:38,450 INFO L290 TraceCheckUtils]: 28: Hoare triple {16858#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {16858#(< ~counter~0 48)} is VALID [2022-04-28 12:22:38,451 INFO L290 TraceCheckUtils]: 27: Hoare triple {16868#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16858#(< ~counter~0 48)} is VALID [2022-04-28 12:22:38,451 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16443#true} {16868#(< ~counter~0 47)} #84#return; {16868#(< ~counter~0 47)} is VALID [2022-04-28 12:22:38,451 INFO L290 TraceCheckUtils]: 25: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:22:38,451 INFO L290 TraceCheckUtils]: 24: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:22:38,451 INFO L290 TraceCheckUtils]: 23: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:22:38,451 INFO L272 TraceCheckUtils]: 22: Hoare triple {16868#(< ~counter~0 47)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:22:38,452 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16443#true} {16868#(< ~counter~0 47)} #82#return; {16868#(< ~counter~0 47)} is VALID [2022-04-28 12:22:38,452 INFO L290 TraceCheckUtils]: 20: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:22:38,452 INFO L290 TraceCheckUtils]: 19: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:22:38,452 INFO L290 TraceCheckUtils]: 18: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:22:38,452 INFO L272 TraceCheckUtils]: 17: Hoare triple {16868#(< ~counter~0 47)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:22:38,452 INFO L290 TraceCheckUtils]: 16: Hoare triple {16868#(< ~counter~0 47)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {16868#(< ~counter~0 47)} is VALID [2022-04-28 12:22:38,453 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16443#true} {16868#(< ~counter~0 47)} #80#return; {16868#(< ~counter~0 47)} is VALID [2022-04-28 12:22:38,453 INFO L290 TraceCheckUtils]: 14: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:22:38,453 INFO L290 TraceCheckUtils]: 13: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:22:38,453 INFO L290 TraceCheckUtils]: 12: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:22:38,453 INFO L272 TraceCheckUtils]: 11: Hoare triple {16868#(< ~counter~0 47)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:22:38,453 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16443#true} {16868#(< ~counter~0 47)} #78#return; {16868#(< ~counter~0 47)} is VALID [2022-04-28 12:22:38,453 INFO L290 TraceCheckUtils]: 9: Hoare triple {16443#true} assume true; {16443#true} is VALID [2022-04-28 12:22:38,454 INFO L290 TraceCheckUtils]: 8: Hoare triple {16443#true} assume !(0 == ~cond); {16443#true} is VALID [2022-04-28 12:22:38,454 INFO L290 TraceCheckUtils]: 7: Hoare triple {16443#true} ~cond := #in~cond; {16443#true} is VALID [2022-04-28 12:22:38,454 INFO L272 TraceCheckUtils]: 6: Hoare triple {16868#(< ~counter~0 47)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16443#true} is VALID [2022-04-28 12:22:38,454 INFO L290 TraceCheckUtils]: 5: Hoare triple {16868#(< ~counter~0 47)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16868#(< ~counter~0 47)} is VALID [2022-04-28 12:22:38,454 INFO L272 TraceCheckUtils]: 4: Hoare triple {16868#(< ~counter~0 47)} call #t~ret8 := main(); {16868#(< ~counter~0 47)} is VALID [2022-04-28 12:22:38,455 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16868#(< ~counter~0 47)} {16443#true} #98#return; {16868#(< ~counter~0 47)} is VALID [2022-04-28 12:22:38,455 INFO L290 TraceCheckUtils]: 2: Hoare triple {16868#(< ~counter~0 47)} assume true; {16868#(< ~counter~0 47)} is VALID [2022-04-28 12:22:38,455 INFO L290 TraceCheckUtils]: 1: Hoare triple {16443#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16868#(< ~counter~0 47)} is VALID [2022-04-28 12:22:38,455 INFO L272 TraceCheckUtils]: 0: Hoare triple {16443#true} call ULTIMATE.init(); {16443#true} is VALID [2022-04-28 12:22:38,456 INFO L134 CoverageAnalysis]: Checked inductivity of 161 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 12:22:38,456 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:22:38,456 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1464367747] [2022-04-28 12:22:38,456 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:22:38,456 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2128830733] [2022-04-28 12:22:38,456 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2128830733] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:22:38,456 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:22:38,456 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 12:22:38,456 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:22:38,456 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1351497394] [2022-04-28 12:22:38,456 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1351497394] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:22:38,456 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:22:38,456 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:22:38,457 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [364942999] [2022-04-28 12:22:38,457 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:22:38,457 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) Word has length 83 [2022-04-28 12:22:38,457 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:22:38,457 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:22:38,497 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:38,497 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:22:38,498 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:38,498 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:22:38,498 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:22:38,498 INFO L87 Difference]: Start difference. First operand 203 states and 265 transitions. Second operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:22:39,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:39,032 INFO L93 Difference]: Finished difference Result 214 states and 277 transitions. [2022-04-28 12:22:39,032 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:22:39,032 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) Word has length 83 [2022-04-28 12:22:39,033 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:22:39,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:22:39,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 95 transitions. [2022-04-28 12:22:39,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:22:39,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 95 transitions. [2022-04-28 12:22:39,035 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 95 transitions. [2022-04-28 12:22:39,120 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:39,124 INFO L225 Difference]: With dead ends: 214 [2022-04-28 12:22:39,124 INFO L226 Difference]: Without dead ends: 206 [2022-04-28 12:22:39,125 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 167 GetRequests, 155 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:22:39,125 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 18 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 67 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:22:39,125 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 160 Invalid, 67 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:22:39,126 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2022-04-28 12:22:39,441 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 206. [2022-04-28 12:22:39,441 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:22:39,443 INFO L82 GeneralOperation]: Start isEquivalent. First operand 206 states. Second operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:22:39,443 INFO L74 IsIncluded]: Start isIncluded. First operand 206 states. Second operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:22:39,444 INFO L87 Difference]: Start difference. First operand 206 states. Second operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:22:39,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:39,450 INFO L93 Difference]: Finished difference Result 206 states and 268 transitions. [2022-04-28 12:22:39,450 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 268 transitions. [2022-04-28 12:22:39,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:39,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:39,451 INFO L74 IsIncluded]: Start isIncluded. First operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 206 states. [2022-04-28 12:22:39,452 INFO L87 Difference]: Start difference. First operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 206 states. [2022-04-28 12:22:39,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:39,456 INFO L93 Difference]: Finished difference Result 206 states and 268 transitions. [2022-04-28 12:22:39,456 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 268 transitions. [2022-04-28 12:22:39,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:39,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:39,457 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:22:39,457 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:22:39,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 206 states, 129 states have (on average 1.2248062015503876) internal successors, (158), 134 states have internal predecessors, (158), 56 states have call successors, (56), 21 states have call predecessors, (56), 20 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-28 12:22:39,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 206 states to 206 states and 268 transitions. [2022-04-28 12:22:39,463 INFO L78 Accepts]: Start accepts. Automaton has 206 states and 268 transitions. Word has length 83 [2022-04-28 12:22:39,463 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:22:39,463 INFO L495 AbstractCegarLoop]: Abstraction has 206 states and 268 transitions. [2022-04-28 12:22:39,463 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:22:39,463 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 206 states and 268 transitions. [2022-04-28 12:22:39,830 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 268 edges. 268 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:39,830 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 268 transitions. [2022-04-28 12:22:39,831 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-28 12:22:39,831 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:22:39,831 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:22:39,855 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 12:22:40,031 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 12:22:40,032 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:22:40,032 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:22:40,032 INFO L85 PathProgramCache]: Analyzing trace with hash -1017110725, now seen corresponding path program 1 times [2022-04-28 12:22:40,032 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:40,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1879785265] [2022-04-28 12:22:40,033 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:22:40,033 INFO L85 PathProgramCache]: Analyzing trace with hash -1017110725, now seen corresponding path program 2 times [2022-04-28 12:22:40,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:22:40,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [883400485] [2022-04-28 12:22:40,033 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:22:40,033 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:22:40,050 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:22:40,050 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [656448222] [2022-04-28 12:22:40,050 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:22:40,050 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:22:40,050 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:22:40,056 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:22:40,081 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 12:22:40,126 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:22:40,126 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:22:40,128 INFO L263 TraceCheckSpWp]: Trace formula consists of 239 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 12:22:40,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:22:40,143 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:22:40,744 INFO L272 TraceCheckUtils]: 0: Hoare triple {18208#true} call ULTIMATE.init(); {18208#true} is VALID [2022-04-28 12:22:40,744 INFO L290 TraceCheckUtils]: 1: Hoare triple {18208#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18208#true} is VALID [2022-04-28 12:22:40,744 INFO L290 TraceCheckUtils]: 2: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:40,744 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18208#true} {18208#true} #98#return; {18208#true} is VALID [2022-04-28 12:22:40,745 INFO L272 TraceCheckUtils]: 4: Hoare triple {18208#true} call #t~ret8 := main(); {18208#true} is VALID [2022-04-28 12:22:40,745 INFO L290 TraceCheckUtils]: 5: Hoare triple {18208#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18208#true} is VALID [2022-04-28 12:22:40,745 INFO L272 TraceCheckUtils]: 6: Hoare triple {18208#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:40,745 INFO L290 TraceCheckUtils]: 7: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:40,745 INFO L290 TraceCheckUtils]: 8: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:40,745 INFO L290 TraceCheckUtils]: 9: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:40,745 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18208#true} {18208#true} #78#return; {18208#true} is VALID [2022-04-28 12:22:40,745 INFO L272 TraceCheckUtils]: 11: Hoare triple {18208#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:40,745 INFO L290 TraceCheckUtils]: 12: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:40,745 INFO L290 TraceCheckUtils]: 13: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:40,745 INFO L290 TraceCheckUtils]: 14: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:40,745 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18208#true} {18208#true} #80#return; {18208#true} is VALID [2022-04-28 12:22:40,746 INFO L290 TraceCheckUtils]: 16: Hoare triple {18208#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,746 INFO L272 TraceCheckUtils]: 17: Hoare triple {18261#(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 assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:40,746 INFO L290 TraceCheckUtils]: 18: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:40,746 INFO L290 TraceCheckUtils]: 19: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:40,746 INFO L290 TraceCheckUtils]: 20: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:40,747 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18208#true} {18261#(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))} #82#return; {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,747 INFO L272 TraceCheckUtils]: 22: Hoare triple {18261#(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 assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:40,747 INFO L290 TraceCheckUtils]: 23: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:40,747 INFO L290 TraceCheckUtils]: 24: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:40,747 INFO L290 TraceCheckUtils]: 25: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:40,748 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18208#true} {18261#(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))} #84#return; {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,748 INFO L290 TraceCheckUtils]: 27: Hoare triple {18261#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,749 INFO L290 TraceCheckUtils]: 28: Hoare triple {18261#(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 !!(#t~post6 < 50);havoc #t~post6; {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,749 INFO L290 TraceCheckUtils]: 29: Hoare triple {18261#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,749 INFO L290 TraceCheckUtils]: 30: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,750 INFO L290 TraceCheckUtils]: 31: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,750 INFO L272 TraceCheckUtils]: 32: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:40,750 INFO L290 TraceCheckUtils]: 33: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:40,750 INFO L290 TraceCheckUtils]: 34: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:40,750 INFO L290 TraceCheckUtils]: 35: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:40,751 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18208#true} {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #86#return; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,751 INFO L272 TraceCheckUtils]: 37: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:40,751 INFO L290 TraceCheckUtils]: 38: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:40,751 INFO L290 TraceCheckUtils]: 39: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:40,751 INFO L290 TraceCheckUtils]: 40: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:40,752 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18208#true} {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #88#return; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,752 INFO L272 TraceCheckUtils]: 42: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:40,752 INFO L290 TraceCheckUtils]: 43: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:40,752 INFO L290 TraceCheckUtils]: 44: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:40,752 INFO L290 TraceCheckUtils]: 45: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:40,753 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18208#true} {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #90#return; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,753 INFO L272 TraceCheckUtils]: 47: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:40,753 INFO L290 TraceCheckUtils]: 48: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:40,753 INFO L290 TraceCheckUtils]: 49: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:40,753 INFO L290 TraceCheckUtils]: 50: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:40,754 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {18208#true} {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #92#return; {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,754 INFO L290 TraceCheckUtils]: 52: Hoare triple {18301#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,755 INFO L290 TraceCheckUtils]: 53: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,755 INFO L290 TraceCheckUtils]: 54: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,755 INFO L272 TraceCheckUtils]: 55: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:40,755 INFO L290 TraceCheckUtils]: 56: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:40,755 INFO L290 TraceCheckUtils]: 57: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:40,755 INFO L290 TraceCheckUtils]: 58: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:40,756 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18208#true} {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,756 INFO L272 TraceCheckUtils]: 60: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:40,756 INFO L290 TraceCheckUtils]: 61: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:40,756 INFO L290 TraceCheckUtils]: 62: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:40,756 INFO L290 TraceCheckUtils]: 63: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:40,757 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18208#true} {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #88#return; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,757 INFO L272 TraceCheckUtils]: 65: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:40,757 INFO L290 TraceCheckUtils]: 66: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:40,757 INFO L290 TraceCheckUtils]: 67: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:40,757 INFO L290 TraceCheckUtils]: 68: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:40,766 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18208#true} {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #90#return; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,766 INFO L272 TraceCheckUtils]: 70: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:40,766 INFO L290 TraceCheckUtils]: 71: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:40,766 INFO L290 TraceCheckUtils]: 72: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:40,766 INFO L290 TraceCheckUtils]: 73: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:40,767 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {18208#true} {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} #92#return; {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,767 INFO L290 TraceCheckUtils]: 75: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:40,768 INFO L290 TraceCheckUtils]: 76: Hoare triple {18371#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 12:22:40,768 INFO L290 TraceCheckUtils]: 77: Hoare triple {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 12:22:40,768 INFO L290 TraceCheckUtils]: 78: Hoare triple {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 12:22:40,769 INFO L290 TraceCheckUtils]: 79: Hoare triple {18444#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {18454#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) 0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 12:22:40,769 INFO L272 TraceCheckUtils]: 80: Hoare triple {18454#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) 0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {18458#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:22:40,770 INFO L290 TraceCheckUtils]: 81: Hoare triple {18458#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18462#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:40,770 INFO L290 TraceCheckUtils]: 82: Hoare triple {18462#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18209#false} is VALID [2022-04-28 12:22:40,770 INFO L290 TraceCheckUtils]: 83: Hoare triple {18209#false} assume !false; {18209#false} is VALID [2022-04-28 12:22:40,770 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 16 proven. 10 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 12:22:40,771 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:22:41,321 INFO L290 TraceCheckUtils]: 83: Hoare triple {18209#false} assume !false; {18209#false} is VALID [2022-04-28 12:22:41,322 INFO L290 TraceCheckUtils]: 82: Hoare triple {18462#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18209#false} is VALID [2022-04-28 12:22:41,322 INFO L290 TraceCheckUtils]: 81: Hoare triple {18458#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18462#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:41,322 INFO L272 TraceCheckUtils]: 80: Hoare triple {18478#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {18458#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:22:41,323 INFO L290 TraceCheckUtils]: 79: Hoare triple {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {18478#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-28 12:22:41,323 INFO L290 TraceCheckUtils]: 78: Hoare triple {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 12:22:41,324 INFO L290 TraceCheckUtils]: 77: Hoare triple {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 12:22:43,325 WARN L290 TraceCheckUtils]: 76: Hoare triple {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {18482#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is UNKNOWN [2022-04-28 12:22:43,326 INFO L290 TraceCheckUtils]: 75: Hoare triple {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !(~c~0 >= ~b~0); {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:22:43,326 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {18208#true} {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #92#return; {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:22:43,326 INFO L290 TraceCheckUtils]: 73: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:43,327 INFO L290 TraceCheckUtils]: 72: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:43,327 INFO L290 TraceCheckUtils]: 71: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:43,327 INFO L272 TraceCheckUtils]: 70: Hoare triple {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:43,327 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18208#true} {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #90#return; {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:22:43,327 INFO L290 TraceCheckUtils]: 68: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:43,328 INFO L290 TraceCheckUtils]: 67: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:43,328 INFO L290 TraceCheckUtils]: 66: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:43,328 INFO L272 TraceCheckUtils]: 65: Hoare triple {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:43,328 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18208#true} {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #88#return; {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:22:43,328 INFO L290 TraceCheckUtils]: 63: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:43,329 INFO L290 TraceCheckUtils]: 62: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:43,329 INFO L290 TraceCheckUtils]: 61: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:43,329 INFO L272 TraceCheckUtils]: 60: Hoare triple {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:43,329 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18208#true} {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #86#return; {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:22:43,329 INFO L290 TraceCheckUtils]: 58: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:43,329 INFO L290 TraceCheckUtils]: 57: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:43,330 INFO L290 TraceCheckUtils]: 56: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:43,330 INFO L272 TraceCheckUtils]: 55: Hoare triple {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:43,330 INFO L290 TraceCheckUtils]: 54: Hoare triple {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !!(#t~post7 < 50);havoc #t~post7; {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:22:43,330 INFO L290 TraceCheckUtils]: 53: Hoare triple {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:22:43,551 INFO L290 TraceCheckUtils]: 52: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18492#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:22:43,552 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {18208#true} {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #92#return; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:22:43,552 INFO L290 TraceCheckUtils]: 50: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:43,552 INFO L290 TraceCheckUtils]: 49: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:43,552 INFO L290 TraceCheckUtils]: 48: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:43,552 INFO L272 TraceCheckUtils]: 47: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:43,553 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18208#true} {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #90#return; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:22:43,553 INFO L290 TraceCheckUtils]: 45: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:43,553 INFO L290 TraceCheckUtils]: 44: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:43,553 INFO L290 TraceCheckUtils]: 43: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:43,553 INFO L272 TraceCheckUtils]: 42: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:43,554 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18208#true} {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #88#return; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:22:43,554 INFO L290 TraceCheckUtils]: 40: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:43,554 INFO L290 TraceCheckUtils]: 39: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:43,554 INFO L290 TraceCheckUtils]: 38: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:43,554 INFO L272 TraceCheckUtils]: 37: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:43,555 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18208#true} {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #86#return; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:22:43,555 INFO L290 TraceCheckUtils]: 35: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:43,555 INFO L290 TraceCheckUtils]: 34: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:43,555 INFO L290 TraceCheckUtils]: 33: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:43,555 INFO L272 TraceCheckUtils]: 32: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:43,556 INFO L290 TraceCheckUtils]: 31: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} assume !!(#t~post7 < 50);havoc #t~post7; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:22:43,556 INFO L290 TraceCheckUtils]: 30: Hoare triple {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:22:43,557 INFO L290 TraceCheckUtils]: 29: Hoare triple {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18565#(or (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:22:43,557 INFO L290 TraceCheckUtils]: 28: Hoare triple {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} assume !!(#t~post6 < 50);havoc #t~post6; {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-28 12:22:43,558 INFO L290 TraceCheckUtils]: 27: Hoare triple {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-28 12:22:43,558 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18208#true} {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} #84#return; {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-28 12:22:43,558 INFO L290 TraceCheckUtils]: 25: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:43,558 INFO L290 TraceCheckUtils]: 24: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:43,559 INFO L290 TraceCheckUtils]: 23: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:43,559 INFO L272 TraceCheckUtils]: 22: Hoare triple {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:43,559 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18208#true} {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} #82#return; {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-28 12:22:43,559 INFO L290 TraceCheckUtils]: 20: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:43,559 INFO L290 TraceCheckUtils]: 19: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:43,559 INFO L290 TraceCheckUtils]: 18: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:43,560 INFO L272 TraceCheckUtils]: 17: Hoare triple {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:43,560 INFO L290 TraceCheckUtils]: 16: Hoare triple {18208#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {18635#(or (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-28 12:22:43,560 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18208#true} {18208#true} #80#return; {18208#true} is VALID [2022-04-28 12:22:43,560 INFO L290 TraceCheckUtils]: 14: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:43,560 INFO L290 TraceCheckUtils]: 13: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:43,560 INFO L290 TraceCheckUtils]: 12: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:43,560 INFO L272 TraceCheckUtils]: 11: Hoare triple {18208#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:43,560 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18208#true} {18208#true} #78#return; {18208#true} is VALID [2022-04-28 12:22:43,561 INFO L290 TraceCheckUtils]: 9: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:43,561 INFO L290 TraceCheckUtils]: 8: Hoare triple {18208#true} assume !(0 == ~cond); {18208#true} is VALID [2022-04-28 12:22:43,561 INFO L290 TraceCheckUtils]: 7: Hoare triple {18208#true} ~cond := #in~cond; {18208#true} is VALID [2022-04-28 12:22:43,561 INFO L272 TraceCheckUtils]: 6: Hoare triple {18208#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18208#true} is VALID [2022-04-28 12:22:43,561 INFO L290 TraceCheckUtils]: 5: Hoare triple {18208#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18208#true} is VALID [2022-04-28 12:22:43,561 INFO L272 TraceCheckUtils]: 4: Hoare triple {18208#true} call #t~ret8 := main(); {18208#true} is VALID [2022-04-28 12:22:43,561 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18208#true} {18208#true} #98#return; {18208#true} is VALID [2022-04-28 12:22:43,561 INFO L290 TraceCheckUtils]: 2: Hoare triple {18208#true} assume true; {18208#true} is VALID [2022-04-28 12:22:43,561 INFO L290 TraceCheckUtils]: 1: Hoare triple {18208#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18208#true} is VALID [2022-04-28 12:22:43,561 INFO L272 TraceCheckUtils]: 0: Hoare triple {18208#true} call ULTIMATE.init(); {18208#true} is VALID [2022-04-28 12:22:43,562 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 16 proven. 10 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 12:22:43,562 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:22:43,562 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [883400485] [2022-04-28 12:22:43,562 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:22:43,562 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [656448222] [2022-04-28 12:22:43,562 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [656448222] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:22:43,562 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:22:43,562 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 12:22:43,562 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:22:43,563 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1879785265] [2022-04-28 12:22:43,563 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1879785265] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:22:43,563 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:22:43,563 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:22:43,563 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1242447053] [2022-04-28 12:22:43,563 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:22:43,563 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 84 [2022-04-28 12:22:43,563 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:22:43,563 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:22:43,611 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:43,611 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:22:43,611 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:43,612 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:22:43,612 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=147, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:22:43,612 INFO L87 Difference]: Start difference. First operand 206 states and 268 transitions. Second operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:22:45,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:45,143 INFO L93 Difference]: Finished difference Result 234 states and 311 transitions. [2022-04-28 12:22:45,143 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:22:45,143 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 84 [2022-04-28 12:22:45,143 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:22:45,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:22:45,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 114 transitions. [2022-04-28 12:22:45,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:22:45,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 114 transitions. [2022-04-28 12:22:45,155 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 114 transitions. [2022-04-28 12:22:45,297 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:45,302 INFO L225 Difference]: With dead ends: 234 [2022-04-28 12:22:45,302 INFO L226 Difference]: Without dead ends: 232 [2022-04-28 12:22:45,303 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 171 GetRequests, 154 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=61, Invalid=245, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:22:45,303 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 25 mSDsluCounter, 247 mSDsCounter, 0 mSdLazyCounter, 313 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 307 SdHoareTripleChecker+Invalid, 334 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 313 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:22:45,303 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 307 Invalid, 334 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 313 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:22:45,304 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 232 states. [2022-04-28 12:22:45,652 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 232 to 229. [2022-04-28 12:22:45,652 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:22:45,653 INFO L82 GeneralOperation]: Start isEquivalent. First operand 232 states. Second operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 12:22:45,653 INFO L74 IsIncluded]: Start isIncluded. First operand 232 states. Second operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 12:22:45,653 INFO L87 Difference]: Start difference. First operand 232 states. Second operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 12:22:45,661 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:45,661 INFO L93 Difference]: Finished difference Result 232 states and 309 transitions. [2022-04-28 12:22:45,661 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 309 transitions. [2022-04-28 12:22:45,662 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:45,662 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:45,662 INFO L74 IsIncluded]: Start isIncluded. First operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) Second operand 232 states. [2022-04-28 12:22:45,663 INFO L87 Difference]: Start difference. First operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) Second operand 232 states. [2022-04-28 12:22:45,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:45,669 INFO L93 Difference]: Finished difference Result 232 states and 309 transitions. [2022-04-28 12:22:45,669 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 309 transitions. [2022-04-28 12:22:45,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:45,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:45,670 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:22:45,670 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:22:45,671 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 229 states, 141 states have (on average 1.24822695035461) internal successors, (176), 148 states have internal predecessors, (176), 66 states have call successors, (66), 22 states have call predecessors, (66), 21 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-28 12:22:45,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 306 transitions. [2022-04-28 12:22:45,678 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 306 transitions. Word has length 84 [2022-04-28 12:22:45,678 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:22:45,678 INFO L495 AbstractCegarLoop]: Abstraction has 229 states and 306 transitions. [2022-04-28 12:22:45,679 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 8 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:22:45,679 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 229 states and 306 transitions. [2022-04-28 12:22:46,162 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 306 edges. 306 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:46,163 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 306 transitions. [2022-04-28 12:22:46,163 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 88 [2022-04-28 12:22:46,163 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:22:46,164 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:22:46,187 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 12:22:46,364 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:22:46,364 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:22:46,364 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:22:46,365 INFO L85 PathProgramCache]: Analyzing trace with hash 1676300815, now seen corresponding path program 3 times [2022-04-28 12:22:46,365 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:46,365 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1417931766] [2022-04-28 12:22:46,365 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:22:46,365 INFO L85 PathProgramCache]: Analyzing trace with hash 1676300815, now seen corresponding path program 4 times [2022-04-28 12:22:46,365 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:22:46,365 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1811202373] [2022-04-28 12:22:46,366 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:22:46,366 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:22:46,383 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:22:46,383 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [642799538] [2022-04-28 12:22:46,383 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:22:46,384 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:22:46,384 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:22:46,387 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:22:46,389 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 12:22:46,442 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:22:46,442 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:22:46,443 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:22:46,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:22:46,460 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:22:46,664 INFO L272 TraceCheckUtils]: 0: Hoare triple {20123#true} call ULTIMATE.init(); {20123#true} is VALID [2022-04-28 12:22:46,664 INFO L290 TraceCheckUtils]: 1: Hoare triple {20123#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20123#true} is VALID [2022-04-28 12:22:46,664 INFO L290 TraceCheckUtils]: 2: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:22:46,664 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20123#true} {20123#true} #98#return; {20123#true} is VALID [2022-04-28 12:22:46,664 INFO L272 TraceCheckUtils]: 4: Hoare triple {20123#true} call #t~ret8 := main(); {20123#true} is VALID [2022-04-28 12:22:46,664 INFO L290 TraceCheckUtils]: 5: Hoare triple {20123#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20123#true} is VALID [2022-04-28 12:22:46,665 INFO L272 TraceCheckUtils]: 6: Hoare triple {20123#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:22:46,665 INFO L290 TraceCheckUtils]: 7: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:22:46,665 INFO L290 TraceCheckUtils]: 8: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:22:46,665 INFO L290 TraceCheckUtils]: 9: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:22:46,665 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20123#true} {20123#true} #78#return; {20123#true} is VALID [2022-04-28 12:22:46,665 INFO L272 TraceCheckUtils]: 11: Hoare triple {20123#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:22:46,665 INFO L290 TraceCheckUtils]: 12: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:22:46,665 INFO L290 TraceCheckUtils]: 13: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:22:46,665 INFO L290 TraceCheckUtils]: 14: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:22:46,665 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20123#true} {20123#true} #80#return; {20123#true} is VALID [2022-04-28 12:22:46,665 INFO L290 TraceCheckUtils]: 16: Hoare triple {20123#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {20123#true} is VALID [2022-04-28 12:22:46,665 INFO L272 TraceCheckUtils]: 17: Hoare triple {20123#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:22:46,665 INFO L290 TraceCheckUtils]: 18: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:22:46,665 INFO L290 TraceCheckUtils]: 19: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:22:46,666 INFO L290 TraceCheckUtils]: 20: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:22:46,666 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20123#true} {20123#true} #82#return; {20123#true} is VALID [2022-04-28 12:22:46,666 INFO L272 TraceCheckUtils]: 22: Hoare triple {20123#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:22:46,666 INFO L290 TraceCheckUtils]: 23: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:22:46,666 INFO L290 TraceCheckUtils]: 24: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:22:46,666 INFO L290 TraceCheckUtils]: 25: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:22:46,666 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20123#true} {20123#true} #84#return; {20123#true} is VALID [2022-04-28 12:22:46,666 INFO L290 TraceCheckUtils]: 27: Hoare triple {20123#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20123#true} is VALID [2022-04-28 12:22:46,666 INFO L290 TraceCheckUtils]: 28: Hoare triple {20123#true} assume !!(#t~post6 < 50);havoc #t~post6; {20123#true} is VALID [2022-04-28 12:22:46,666 INFO L290 TraceCheckUtils]: 29: Hoare triple {20123#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20123#true} is VALID [2022-04-28 12:22:46,666 INFO L290 TraceCheckUtils]: 30: Hoare triple {20123#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20123#true} is VALID [2022-04-28 12:22:46,666 INFO L290 TraceCheckUtils]: 31: Hoare triple {20123#true} assume !!(#t~post7 < 50);havoc #t~post7; {20123#true} is VALID [2022-04-28 12:22:46,666 INFO L272 TraceCheckUtils]: 32: Hoare triple {20123#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:22:46,666 INFO L290 TraceCheckUtils]: 33: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:22:46,667 INFO L290 TraceCheckUtils]: 34: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:22:46,667 INFO L290 TraceCheckUtils]: 35: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:22:46,667 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20123#true} {20123#true} #86#return; {20123#true} is VALID [2022-04-28 12:22:46,667 INFO L272 TraceCheckUtils]: 37: Hoare triple {20123#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:22:46,667 INFO L290 TraceCheckUtils]: 38: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:22:46,667 INFO L290 TraceCheckUtils]: 39: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:22:46,667 INFO L290 TraceCheckUtils]: 40: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:22:46,667 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20123#true} {20123#true} #88#return; {20123#true} is VALID [2022-04-28 12:22:46,667 INFO L272 TraceCheckUtils]: 42: Hoare triple {20123#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:22:46,667 INFO L290 TraceCheckUtils]: 43: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:22:46,667 INFO L290 TraceCheckUtils]: 44: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:22:46,667 INFO L290 TraceCheckUtils]: 45: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:22:46,667 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {20123#true} {20123#true} #90#return; {20123#true} is VALID [2022-04-28 12:22:46,667 INFO L272 TraceCheckUtils]: 47: Hoare triple {20123#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:22:46,667 INFO L290 TraceCheckUtils]: 48: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:22:46,668 INFO L290 TraceCheckUtils]: 49: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:22:46,668 INFO L290 TraceCheckUtils]: 50: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:22:46,668 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {20123#true} {20123#true} #92#return; {20123#true} is VALID [2022-04-28 12:22:46,668 INFO L290 TraceCheckUtils]: 52: Hoare triple {20123#true} assume !(~c~0 >= ~b~0); {20284#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:22:46,668 INFO L290 TraceCheckUtils]: 53: Hoare triple {20284#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20288#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:22:46,669 INFO L290 TraceCheckUtils]: 54: Hoare triple {20288#(< main_~b~0 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20288#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:22:46,669 INFO L290 TraceCheckUtils]: 55: Hoare triple {20288#(< main_~b~0 main_~a~0)} assume !!(#t~post6 < 50);havoc #t~post6; {20288#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:22:46,669 INFO L290 TraceCheckUtils]: 56: Hoare triple {20288#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:22:46,670 INFO L290 TraceCheckUtils]: 57: Hoare triple {20298#(< main_~b~0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:22:46,670 INFO L290 TraceCheckUtils]: 58: Hoare triple {20298#(< main_~b~0 main_~c~0)} assume !!(#t~post7 < 50);havoc #t~post7; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:22:46,670 INFO L272 TraceCheckUtils]: 59: Hoare triple {20298#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:22:46,670 INFO L290 TraceCheckUtils]: 60: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:22:46,670 INFO L290 TraceCheckUtils]: 61: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:22:46,670 INFO L290 TraceCheckUtils]: 62: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:22:46,683 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {20123#true} {20298#(< main_~b~0 main_~c~0)} #86#return; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:22:46,683 INFO L272 TraceCheckUtils]: 64: Hoare triple {20298#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:22:46,683 INFO L290 TraceCheckUtils]: 65: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:22:46,683 INFO L290 TraceCheckUtils]: 66: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:22:46,683 INFO L290 TraceCheckUtils]: 67: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:22:46,684 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {20123#true} {20298#(< main_~b~0 main_~c~0)} #88#return; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:22:46,684 INFO L272 TraceCheckUtils]: 69: Hoare triple {20298#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:22:46,684 INFO L290 TraceCheckUtils]: 70: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:22:46,685 INFO L290 TraceCheckUtils]: 71: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:22:46,685 INFO L290 TraceCheckUtils]: 72: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:22:46,685 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {20123#true} {20298#(< main_~b~0 main_~c~0)} #90#return; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:22:46,685 INFO L272 TraceCheckUtils]: 74: Hoare triple {20298#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20123#true} is VALID [2022-04-28 12:22:46,685 INFO L290 TraceCheckUtils]: 75: Hoare triple {20123#true} ~cond := #in~cond; {20123#true} is VALID [2022-04-28 12:22:46,686 INFO L290 TraceCheckUtils]: 76: Hoare triple {20123#true} assume !(0 == ~cond); {20123#true} is VALID [2022-04-28 12:22:46,686 INFO L290 TraceCheckUtils]: 77: Hoare triple {20123#true} assume true; {20123#true} is VALID [2022-04-28 12:22:46,686 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {20123#true} {20298#(< main_~b~0 main_~c~0)} #92#return; {20298#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:22:46,687 INFO L290 TraceCheckUtils]: 79: Hoare triple {20298#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {20124#false} is VALID [2022-04-28 12:22:46,687 INFO L290 TraceCheckUtils]: 80: Hoare triple {20124#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20124#false} is VALID [2022-04-28 12:22:46,688 INFO L290 TraceCheckUtils]: 81: Hoare triple {20124#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20124#false} is VALID [2022-04-28 12:22:46,688 INFO L290 TraceCheckUtils]: 82: Hoare triple {20124#false} assume !(#t~post6 < 50);havoc #t~post6; {20124#false} is VALID [2022-04-28 12:22:46,688 INFO L272 TraceCheckUtils]: 83: Hoare triple {20124#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {20124#false} is VALID [2022-04-28 12:22:46,688 INFO L290 TraceCheckUtils]: 84: Hoare triple {20124#false} ~cond := #in~cond; {20124#false} is VALID [2022-04-28 12:22:46,688 INFO L290 TraceCheckUtils]: 85: Hoare triple {20124#false} assume 0 == ~cond; {20124#false} is VALID [2022-04-28 12:22:46,688 INFO L290 TraceCheckUtils]: 86: Hoare triple {20124#false} assume !false; {20124#false} is VALID [2022-04-28 12:22:46,688 INFO L134 CoverageAnalysis]: Checked inductivity of 167 backedges. 31 proven. 0 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 12:22:46,688 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:22:46,689 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:22:46,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1811202373] [2022-04-28 12:22:46,689 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:22:46,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [642799538] [2022-04-28 12:22:46,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [642799538] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:22:46,689 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:22:46,689 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:22:46,689 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:22:46,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1417931766] [2022-04-28 12:22:46,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1417931766] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:22:46,690 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:22:46,690 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:22:46,690 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1933489664] [2022-04-28 12:22:46,690 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:22:46,690 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 87 [2022-04-28 12:22:46,690 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:22:46,690 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:22:46,742 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:46,742 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:22:46,742 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:46,743 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:22:46,743 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:22:46,743 INFO L87 Difference]: Start difference. First operand 229 states and 306 transitions. Second operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:22:47,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:47,554 INFO L93 Difference]: Finished difference Result 371 states and 532 transitions. [2022-04-28 12:22:47,554 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:22:47,554 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 87 [2022-04-28 12:22:47,554 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:22:47,554 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:22:47,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 110 transitions. [2022-04-28 12:22:47,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:22:47,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 110 transitions. [2022-04-28 12:22:47,557 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 110 transitions. [2022-04-28 12:22:47,666 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:47,674 INFO L225 Difference]: With dead ends: 371 [2022-04-28 12:22:47,674 INFO L226 Difference]: Without dead ends: 291 [2022-04-28 12:22:47,675 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 84 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-04-28 12:22:47,676 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 12 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 172 SdHoareTripleChecker+Invalid, 79 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 74 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:22:47,677 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 172 Invalid, 79 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 74 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:22:47,683 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 291 states. [2022-04-28 12:22:48,175 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 291 to 257. [2022-04-28 12:22:48,175 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:22:48,176 INFO L82 GeneralOperation]: Start isEquivalent. First operand 291 states. Second operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:22:48,176 INFO L74 IsIncluded]: Start isIncluded. First operand 291 states. Second operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:22:48,176 INFO L87 Difference]: Start difference. First operand 291 states. Second operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:22:48,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:48,187 INFO L93 Difference]: Finished difference Result 291 states and 403 transitions. [2022-04-28 12:22:48,187 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 403 transitions. [2022-04-28 12:22:48,188 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:48,188 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:48,189 INFO L74 IsIncluded]: Start isIncluded. First operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) Second operand 291 states. [2022-04-28 12:22:48,189 INFO L87 Difference]: Start difference. First operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) Second operand 291 states. [2022-04-28 12:22:48,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:48,198 INFO L93 Difference]: Finished difference Result 291 states and 403 transitions. [2022-04-28 12:22:48,198 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 403 transitions. [2022-04-28 12:22:48,199 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:48,199 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:48,199 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:22:48,199 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:22:48,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 257 states, 161 states have (on average 1.2546583850931676) internal successors, (202), 168 states have internal predecessors, (202), 74 states have call successors, (74), 22 states have call predecessors, (74), 21 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:22:48,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 257 states to 257 states and 348 transitions. [2022-04-28 12:22:48,208 INFO L78 Accepts]: Start accepts. Automaton has 257 states and 348 transitions. Word has length 87 [2022-04-28 12:22:48,208 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:22:48,208 INFO L495 AbstractCegarLoop]: Abstraction has 257 states and 348 transitions. [2022-04-28 12:22:48,209 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:22:48,209 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 257 states and 348 transitions. [2022-04-28 12:22:48,691 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 348 edges. 348 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:48,692 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 348 transitions. [2022-04-28 12:22:48,695 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-28 12:22:48,696 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:22:48,696 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:22:48,722 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 12:22:48,922 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:22:48,922 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:22:48,922 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:22:48,922 INFO L85 PathProgramCache]: Analyzing trace with hash -1175887352, now seen corresponding path program 1 times [2022-04-28 12:22:48,923 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:48,923 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1588875752] [2022-04-28 12:22:48,923 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:22:48,923 INFO L85 PathProgramCache]: Analyzing trace with hash -1175887352, now seen corresponding path program 2 times [2022-04-28 12:22:48,923 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:22:48,923 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [875384362] [2022-04-28 12:22:48,924 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:22:48,924 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:22:48,933 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:22:48,933 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [618527383] [2022-04-28 12:22:48,933 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:22:48,933 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:22:48,934 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:22:48,934 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:22:48,945 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 12:22:48,998 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:22:48,998 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:22:48,999 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 12:22:49,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:22:49,014 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:22:49,298 INFO L272 TraceCheckUtils]: 0: Hoare triple {22231#true} call ULTIMATE.init(); {22231#true} is VALID [2022-04-28 12:22:49,299 INFO L290 TraceCheckUtils]: 1: Hoare triple {22231#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {22231#true} is VALID [2022-04-28 12:22:49,299 INFO L290 TraceCheckUtils]: 2: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:22:49,299 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22231#true} {22231#true} #98#return; {22231#true} is VALID [2022-04-28 12:22:49,299 INFO L272 TraceCheckUtils]: 4: Hoare triple {22231#true} call #t~ret8 := main(); {22231#true} is VALID [2022-04-28 12:22:49,299 INFO L290 TraceCheckUtils]: 5: Hoare triple {22231#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22231#true} is VALID [2022-04-28 12:22:49,299 INFO L272 TraceCheckUtils]: 6: Hoare triple {22231#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:22:49,299 INFO L290 TraceCheckUtils]: 7: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:22:49,299 INFO L290 TraceCheckUtils]: 8: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:22:49,299 INFO L290 TraceCheckUtils]: 9: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:22:49,300 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22231#true} {22231#true} #78#return; {22231#true} is VALID [2022-04-28 12:22:49,300 INFO L272 TraceCheckUtils]: 11: Hoare triple {22231#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:22:49,300 INFO L290 TraceCheckUtils]: 12: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:22:49,300 INFO L290 TraceCheckUtils]: 13: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:22:49,300 INFO L290 TraceCheckUtils]: 14: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:22:49,300 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22231#true} {22231#true} #80#return; {22231#true} is VALID [2022-04-28 12:22:49,300 INFO L290 TraceCheckUtils]: 16: Hoare triple {22231#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,300 INFO L272 TraceCheckUtils]: 17: Hoare triple {22284#(= main_~q~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:22:49,301 INFO L290 TraceCheckUtils]: 18: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:22:49,301 INFO L290 TraceCheckUtils]: 19: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:22:49,301 INFO L290 TraceCheckUtils]: 20: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:22:49,301 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #82#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,301 INFO L272 TraceCheckUtils]: 22: Hoare triple {22284#(= main_~q~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:22:49,301 INFO L290 TraceCheckUtils]: 23: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:22:49,302 INFO L290 TraceCheckUtils]: 24: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:22:49,302 INFO L290 TraceCheckUtils]: 25: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:22:49,302 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #84#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,302 INFO L290 TraceCheckUtils]: 27: Hoare triple {22284#(= main_~q~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,303 INFO L290 TraceCheckUtils]: 28: Hoare triple {22284#(= main_~q~0 0)} assume !!(#t~post6 < 50);havoc #t~post6; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,303 INFO L290 TraceCheckUtils]: 29: Hoare triple {22284#(= main_~q~0 0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,303 INFO L290 TraceCheckUtils]: 30: Hoare triple {22284#(= main_~q~0 0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,304 INFO L290 TraceCheckUtils]: 31: Hoare triple {22284#(= main_~q~0 0)} assume !!(#t~post7 < 50);havoc #t~post7; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,304 INFO L272 TraceCheckUtils]: 32: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:22:49,304 INFO L290 TraceCheckUtils]: 33: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:22:49,304 INFO L290 TraceCheckUtils]: 34: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:22:49,304 INFO L290 TraceCheckUtils]: 35: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:22:49,305 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #86#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,305 INFO L272 TraceCheckUtils]: 37: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:22:49,305 INFO L290 TraceCheckUtils]: 38: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:22:49,305 INFO L290 TraceCheckUtils]: 39: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:22:49,305 INFO L290 TraceCheckUtils]: 40: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:22:49,306 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #88#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,306 INFO L272 TraceCheckUtils]: 42: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:22:49,306 INFO L290 TraceCheckUtils]: 43: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:22:49,306 INFO L290 TraceCheckUtils]: 44: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:22:49,306 INFO L290 TraceCheckUtils]: 45: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:22:49,307 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #90#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,307 INFO L272 TraceCheckUtils]: 47: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:22:49,307 INFO L290 TraceCheckUtils]: 48: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:22:49,307 INFO L290 TraceCheckUtils]: 49: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:22:49,307 INFO L290 TraceCheckUtils]: 50: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:22:49,308 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #92#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,308 INFO L290 TraceCheckUtils]: 52: Hoare triple {22284#(= main_~q~0 0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,309 INFO L290 TraceCheckUtils]: 53: Hoare triple {22284#(= main_~q~0 0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,309 INFO L290 TraceCheckUtils]: 54: Hoare triple {22284#(= main_~q~0 0)} assume !!(#t~post7 < 50);havoc #t~post7; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,309 INFO L272 TraceCheckUtils]: 55: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:22:49,309 INFO L290 TraceCheckUtils]: 56: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:22:49,309 INFO L290 TraceCheckUtils]: 57: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:22:49,309 INFO L290 TraceCheckUtils]: 58: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:22:49,310 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #86#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,310 INFO L272 TraceCheckUtils]: 60: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:22:49,310 INFO L290 TraceCheckUtils]: 61: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:22:49,310 INFO L290 TraceCheckUtils]: 62: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:22:49,310 INFO L290 TraceCheckUtils]: 63: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:22:49,311 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22231#true} {22284#(= main_~q~0 0)} #88#return; {22284#(= main_~q~0 0)} is VALID [2022-04-28 12:22:49,311 INFO L272 TraceCheckUtils]: 65: Hoare triple {22284#(= main_~q~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:22:49,311 INFO L290 TraceCheckUtils]: 66: Hoare triple {22231#true} ~cond := #in~cond; {22435#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:49,312 INFO L290 TraceCheckUtils]: 67: Hoare triple {22435#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:49,312 INFO L290 TraceCheckUtils]: 68: Hoare triple {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:49,313 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} {22284#(= main_~q~0 0)} #90#return; {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-28 12:22:49,313 INFO L272 TraceCheckUtils]: 70: Hoare triple {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:22:49,313 INFO L290 TraceCheckUtils]: 71: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:22:49,313 INFO L290 TraceCheckUtils]: 72: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:22:49,313 INFO L290 TraceCheckUtils]: 73: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:22:49,314 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {22231#true} {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} #92#return; {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-28 12:22:49,315 INFO L290 TraceCheckUtils]: 75: Hoare triple {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-28 12:22:49,315 INFO L290 TraceCheckUtils]: 76: Hoare triple {22446#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:22:49,316 INFO L290 TraceCheckUtils]: 77: Hoare triple {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:22:49,316 INFO L290 TraceCheckUtils]: 78: Hoare triple {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post6 < 50);havoc #t~post6; {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:22:49,317 INFO L290 TraceCheckUtils]: 79: Hoare triple {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(0 != ~b~0); {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:22:49,317 INFO L272 TraceCheckUtils]: 80: Hoare triple {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:22:49,317 INFO L290 TraceCheckUtils]: 81: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:22:49,317 INFO L290 TraceCheckUtils]: 82: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:22:49,317 INFO L290 TraceCheckUtils]: 83: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:22:49,318 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {22231#true} {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #94#return; {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:22:49,318 INFO L272 TraceCheckUtils]: 85: Hoare triple {22468#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~p~0 * ~x~0 + ~r~0 * ~y~0 == ~a~0 then 1 else 0)); {22496#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:22:49,319 INFO L290 TraceCheckUtils]: 86: Hoare triple {22496#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22500#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:49,319 INFO L290 TraceCheckUtils]: 87: Hoare triple {22500#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22232#false} is VALID [2022-04-28 12:22:49,319 INFO L290 TraceCheckUtils]: 88: Hoare triple {22232#false} assume !false; {22232#false} is VALID [2022-04-28 12:22:49,320 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 37 proven. 10 refuted. 0 times theorem prover too weak. 149 trivial. 0 not checked. [2022-04-28 12:22:49,320 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:23:04,168 INFO L290 TraceCheckUtils]: 88: Hoare triple {22232#false} assume !false; {22232#false} is VALID [2022-04-28 12:23:04,169 INFO L290 TraceCheckUtils]: 87: Hoare triple {22500#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22232#false} is VALID [2022-04-28 12:23:04,169 INFO L290 TraceCheckUtils]: 86: Hoare triple {22496#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22500#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:04,170 INFO L272 TraceCheckUtils]: 85: Hoare triple {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 + ~r~0 * ~y~0 == ~a~0 then 1 else 0)); {22496#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:23:04,170 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {22231#true} {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #94#return; {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:23:04,171 INFO L290 TraceCheckUtils]: 83: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:23:04,171 INFO L290 TraceCheckUtils]: 82: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:23:04,171 INFO L290 TraceCheckUtils]: 81: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:23:04,171 INFO L272 TraceCheckUtils]: 80: Hoare triple {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:23:04,171 INFO L290 TraceCheckUtils]: 79: Hoare triple {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:23:04,171 INFO L290 TraceCheckUtils]: 78: Hoare triple {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:23:04,172 INFO L290 TraceCheckUtils]: 77: Hoare triple {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:23:04,172 INFO L290 TraceCheckUtils]: 76: Hoare triple {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22516#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:23:04,173 INFO L290 TraceCheckUtils]: 75: Hoare triple {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:23:04,173 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {22231#true} {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #92#return; {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:23:04,173 INFO L290 TraceCheckUtils]: 73: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:23:04,173 INFO L290 TraceCheckUtils]: 72: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:23:04,173 INFO L290 TraceCheckUtils]: 71: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:23:04,173 INFO L272 TraceCheckUtils]: 70: Hoare triple {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:23:04,174 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} {22231#true} #90#return; {22544#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:23:04,174 INFO L290 TraceCheckUtils]: 68: Hoare triple {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:04,175 INFO L290 TraceCheckUtils]: 67: Hoare triple {22575#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:04,175 INFO L290 TraceCheckUtils]: 66: Hoare triple {22231#true} ~cond := #in~cond; {22575#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:23:04,175 INFO L272 TraceCheckUtils]: 65: Hoare triple {22231#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:23:04,175 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22231#true} {22231#true} #88#return; {22231#true} is VALID [2022-04-28 12:23:04,175 INFO L290 TraceCheckUtils]: 63: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:23:04,175 INFO L290 TraceCheckUtils]: 62: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:23:04,175 INFO L290 TraceCheckUtils]: 61: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:23:04,175 INFO L272 TraceCheckUtils]: 60: Hoare triple {22231#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:23:04,175 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {22231#true} {22231#true} #86#return; {22231#true} is VALID [2022-04-28 12:23:04,176 INFO L290 TraceCheckUtils]: 58: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:23:04,176 INFO L290 TraceCheckUtils]: 57: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:23:04,176 INFO L290 TraceCheckUtils]: 56: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:23:04,176 INFO L272 TraceCheckUtils]: 55: Hoare triple {22231#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:23:04,176 INFO L290 TraceCheckUtils]: 54: Hoare triple {22231#true} assume !!(#t~post7 < 50);havoc #t~post7; {22231#true} is VALID [2022-04-28 12:23:04,176 INFO L290 TraceCheckUtils]: 53: Hoare triple {22231#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22231#true} is VALID [2022-04-28 12:23:04,176 INFO L290 TraceCheckUtils]: 52: Hoare triple {22231#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {22231#true} is VALID [2022-04-28 12:23:04,176 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {22231#true} {22231#true} #92#return; {22231#true} is VALID [2022-04-28 12:23:04,176 INFO L290 TraceCheckUtils]: 50: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:23:04,176 INFO L290 TraceCheckUtils]: 49: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:23:04,176 INFO L290 TraceCheckUtils]: 48: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:23:04,176 INFO L272 TraceCheckUtils]: 47: Hoare triple {22231#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:23:04,176 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {22231#true} {22231#true} #90#return; {22231#true} is VALID [2022-04-28 12:23:04,176 INFO L290 TraceCheckUtils]: 45: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:23:04,177 INFO L290 TraceCheckUtils]: 44: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:23:04,177 INFO L290 TraceCheckUtils]: 43: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:23:04,177 INFO L272 TraceCheckUtils]: 42: Hoare triple {22231#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:23:04,177 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {22231#true} {22231#true} #88#return; {22231#true} is VALID [2022-04-28 12:23:04,177 INFO L290 TraceCheckUtils]: 40: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:23:04,177 INFO L290 TraceCheckUtils]: 39: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:23:04,177 INFO L290 TraceCheckUtils]: 38: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:23:04,177 INFO L272 TraceCheckUtils]: 37: Hoare triple {22231#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:23:04,177 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {22231#true} {22231#true} #86#return; {22231#true} is VALID [2022-04-28 12:23:04,177 INFO L290 TraceCheckUtils]: 35: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:23:04,177 INFO L290 TraceCheckUtils]: 34: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:23:04,177 INFO L290 TraceCheckUtils]: 33: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:23:04,177 INFO L272 TraceCheckUtils]: 32: Hoare triple {22231#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:23:04,177 INFO L290 TraceCheckUtils]: 31: Hoare triple {22231#true} assume !!(#t~post7 < 50);havoc #t~post7; {22231#true} is VALID [2022-04-28 12:23:04,177 INFO L290 TraceCheckUtils]: 30: Hoare triple {22231#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22231#true} is VALID [2022-04-28 12:23:04,178 INFO L290 TraceCheckUtils]: 29: Hoare triple {22231#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22231#true} is VALID [2022-04-28 12:23:04,178 INFO L290 TraceCheckUtils]: 28: Hoare triple {22231#true} assume !!(#t~post6 < 50);havoc #t~post6; {22231#true} is VALID [2022-04-28 12:23:04,178 INFO L290 TraceCheckUtils]: 27: Hoare triple {22231#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22231#true} is VALID [2022-04-28 12:23:04,178 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22231#true} {22231#true} #84#return; {22231#true} is VALID [2022-04-28 12:23:04,178 INFO L290 TraceCheckUtils]: 25: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:23:04,178 INFO L290 TraceCheckUtils]: 24: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:23:04,178 INFO L290 TraceCheckUtils]: 23: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:23:04,178 INFO L272 TraceCheckUtils]: 22: Hoare triple {22231#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:23:04,178 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22231#true} {22231#true} #82#return; {22231#true} is VALID [2022-04-28 12:23:04,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:23:04,178 INFO L290 TraceCheckUtils]: 19: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:23:04,178 INFO L290 TraceCheckUtils]: 18: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:23:04,178 INFO L272 TraceCheckUtils]: 17: Hoare triple {22231#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:23:04,178 INFO L290 TraceCheckUtils]: 16: Hoare triple {22231#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {22231#true} is VALID [2022-04-28 12:23:04,178 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22231#true} {22231#true} #80#return; {22231#true} is VALID [2022-04-28 12:23:04,179 INFO L290 TraceCheckUtils]: 14: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:23:04,179 INFO L290 TraceCheckUtils]: 13: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:23:04,179 INFO L290 TraceCheckUtils]: 12: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:23:04,179 INFO L272 TraceCheckUtils]: 11: Hoare triple {22231#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:23:04,179 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22231#true} {22231#true} #78#return; {22231#true} is VALID [2022-04-28 12:23:04,179 INFO L290 TraceCheckUtils]: 9: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:23:04,179 INFO L290 TraceCheckUtils]: 8: Hoare triple {22231#true} assume !(0 == ~cond); {22231#true} is VALID [2022-04-28 12:23:04,179 INFO L290 TraceCheckUtils]: 7: Hoare triple {22231#true} ~cond := #in~cond; {22231#true} is VALID [2022-04-28 12:23:04,179 INFO L272 TraceCheckUtils]: 6: Hoare triple {22231#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22231#true} is VALID [2022-04-28 12:23:04,179 INFO L290 TraceCheckUtils]: 5: Hoare triple {22231#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22231#true} is VALID [2022-04-28 12:23:04,179 INFO L272 TraceCheckUtils]: 4: Hoare triple {22231#true} call #t~ret8 := main(); {22231#true} is VALID [2022-04-28 12:23:04,179 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22231#true} {22231#true} #98#return; {22231#true} is VALID [2022-04-28 12:23:04,179 INFO L290 TraceCheckUtils]: 2: Hoare triple {22231#true} assume true; {22231#true} is VALID [2022-04-28 12:23:04,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {22231#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {22231#true} is VALID [2022-04-28 12:23:04,179 INFO L272 TraceCheckUtils]: 0: Hoare triple {22231#true} call ULTIMATE.init(); {22231#true} is VALID [2022-04-28 12:23:04,180 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 40 proven. 7 refuted. 0 times theorem prover too weak. 149 trivial. 0 not checked. [2022-04-28 12:23:04,180 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:23:04,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [875384362] [2022-04-28 12:23:04,180 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:23:04,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [618527383] [2022-04-28 12:23:04,180 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [618527383] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:23:04,180 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:23:04,180 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-28 12:23:04,180 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:23:04,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1588875752] [2022-04-28 12:23:04,181 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1588875752] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:23:04,181 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:23:04,181 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:23:04,181 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [915312188] [2022-04-28 12:23:04,182 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:23:04,182 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 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 89 [2022-04-28 12:23:04,182 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:23:04,182 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:23:04,223 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:04,223 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:23:04,223 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:23:04,223 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:23:04,223 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:23:04,224 INFO L87 Difference]: Start difference. First operand 257 states and 348 transitions. Second operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:23:05,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:05,942 INFO L93 Difference]: Finished difference Result 301 states and 415 transitions. [2022-04-28 12:23:05,942 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:23:05,942 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 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 89 [2022-04-28 12:23:05,942 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:23:05,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:23:05,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 89 transitions. [2022-04-28 12:23:05,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:23:05,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 89 transitions. [2022-04-28 12:23:05,945 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 89 transitions. [2022-04-28 12:23:06,038 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:06,049 INFO L225 Difference]: With dead ends: 301 [2022-04-28 12:23:06,049 INFO L226 Difference]: Without dead ends: 297 [2022-04-28 12:23:06,050 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 179 GetRequests, 166 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:23:06,051 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 24 mSDsluCounter, 212 mSDsCounter, 0 mSdLazyCounter, 242 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 259 SdHoareTripleChecker+Invalid, 246 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 242 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:23:06,052 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 259 Invalid, 246 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 242 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:23:06,054 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 297 states. [2022-04-28 12:23:06,591 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 297 to 293. [2022-04-28 12:23:06,591 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:23:06,591 INFO L82 GeneralOperation]: Start isEquivalent. First operand 297 states. Second operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) [2022-04-28 12:23:06,592 INFO L74 IsIncluded]: Start isIncluded. First operand 297 states. Second operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) [2022-04-28 12:23:06,592 INFO L87 Difference]: Start difference. First operand 297 states. Second operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) [2022-04-28 12:23:06,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:06,602 INFO L93 Difference]: Finished difference Result 297 states and 408 transitions. [2022-04-28 12:23:06,602 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 408 transitions. [2022-04-28 12:23:06,603 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:23:06,603 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:23:06,604 INFO L74 IsIncluded]: Start isIncluded. First operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) Second operand 297 states. [2022-04-28 12:23:06,604 INFO L87 Difference]: Start difference. First operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) Second operand 297 states. [2022-04-28 12:23:06,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:06,613 INFO L93 Difference]: Finished difference Result 297 states and 408 transitions. [2022-04-28 12:23:06,613 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 408 transitions. [2022-04-28 12:23:06,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:23:06,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:23:06,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:23:06,614 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:23:06,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 293 states, 183 states have (on average 1.273224043715847) internal successors, (233), 191 states have internal predecessors, (233), 87 states have call successors, (87), 23 states have call predecessors, (87), 22 states have return successors, (84), 78 states have call predecessors, (84), 84 states have call successors, (84) [2022-04-28 12:23:06,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 293 states to 293 states and 404 transitions. [2022-04-28 12:23:06,624 INFO L78 Accepts]: Start accepts. Automaton has 293 states and 404 transitions. Word has length 89 [2022-04-28 12:23:06,624 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:23:06,624 INFO L495 AbstractCegarLoop]: Abstraction has 293 states and 404 transitions. [2022-04-28 12:23:06,624 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:23:06,624 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 293 states and 404 transitions. [2022-04-28 12:23:07,209 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 404 edges. 404 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:07,209 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 404 transitions. [2022-04-28 12:23:07,210 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-28 12:23:07,210 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:23:07,211 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:23:07,231 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 12:23:07,427 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-28 12:23:07,427 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:23:07,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:23:07,428 INFO L85 PathProgramCache]: Analyzing trace with hash -201422586, now seen corresponding path program 1 times [2022-04-28 12:23:07,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:23:07,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [586519355] [2022-04-28 12:23:07,428 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:23:07,428 INFO L85 PathProgramCache]: Analyzing trace with hash -201422586, now seen corresponding path program 2 times [2022-04-28 12:23:07,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:23:07,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [110526067] [2022-04-28 12:23:07,429 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:23:07,429 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:23:07,439 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:23:07,440 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1347050294] [2022-04-28 12:23:07,440 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:23:07,440 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:23:07,440 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:23:07,441 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:23:07,443 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 12:23:07,497 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:23:07,498 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:23:07,499 INFO L263 TraceCheckSpWp]: Trace formula consists of 266 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 12:23:07,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:23:07,518 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:23:07,851 INFO L272 TraceCheckUtils]: 0: Hoare triple {24562#true} call ULTIMATE.init(); {24562#true} is VALID [2022-04-28 12:23:07,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {24562#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,852 INFO L290 TraceCheckUtils]: 2: Hoare triple {24570#(<= ~counter~0 0)} assume true; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,852 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24570#(<= ~counter~0 0)} {24562#true} #98#return; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,852 INFO L272 TraceCheckUtils]: 4: Hoare triple {24570#(<= ~counter~0 0)} call #t~ret8 := main(); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,853 INFO L290 TraceCheckUtils]: 5: Hoare triple {24570#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,853 INFO L272 TraceCheckUtils]: 6: Hoare triple {24570#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,853 INFO L290 TraceCheckUtils]: 7: Hoare triple {24570#(<= ~counter~0 0)} ~cond := #in~cond; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,853 INFO L290 TraceCheckUtils]: 8: Hoare triple {24570#(<= ~counter~0 0)} assume !(0 == ~cond); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,854 INFO L290 TraceCheckUtils]: 9: Hoare triple {24570#(<= ~counter~0 0)} assume true; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,854 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24570#(<= ~counter~0 0)} {24570#(<= ~counter~0 0)} #78#return; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,854 INFO L272 TraceCheckUtils]: 11: Hoare triple {24570#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,855 INFO L290 TraceCheckUtils]: 12: Hoare triple {24570#(<= ~counter~0 0)} ~cond := #in~cond; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,855 INFO L290 TraceCheckUtils]: 13: Hoare triple {24570#(<= ~counter~0 0)} assume !(0 == ~cond); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,855 INFO L290 TraceCheckUtils]: 14: Hoare triple {24570#(<= ~counter~0 0)} assume true; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,856 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {24570#(<= ~counter~0 0)} {24570#(<= ~counter~0 0)} #80#return; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,856 INFO L290 TraceCheckUtils]: 16: Hoare triple {24570#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,856 INFO L272 TraceCheckUtils]: 17: Hoare triple {24570#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,857 INFO L290 TraceCheckUtils]: 18: Hoare triple {24570#(<= ~counter~0 0)} ~cond := #in~cond; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,857 INFO L290 TraceCheckUtils]: 19: Hoare triple {24570#(<= ~counter~0 0)} assume !(0 == ~cond); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,857 INFO L290 TraceCheckUtils]: 20: Hoare triple {24570#(<= ~counter~0 0)} assume true; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,857 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {24570#(<= ~counter~0 0)} {24570#(<= ~counter~0 0)} #82#return; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,858 INFO L272 TraceCheckUtils]: 22: Hoare triple {24570#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,863 INFO L290 TraceCheckUtils]: 23: Hoare triple {24570#(<= ~counter~0 0)} ~cond := #in~cond; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,864 INFO L290 TraceCheckUtils]: 24: Hoare triple {24570#(<= ~counter~0 0)} assume !(0 == ~cond); {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,864 INFO L290 TraceCheckUtils]: 25: Hoare triple {24570#(<= ~counter~0 0)} assume true; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,864 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {24570#(<= ~counter~0 0)} {24570#(<= ~counter~0 0)} #84#return; {24570#(<= ~counter~0 0)} is VALID [2022-04-28 12:23:07,865 INFO L290 TraceCheckUtils]: 27: Hoare triple {24570#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24649#(<= ~counter~0 1)} is VALID [2022-04-28 12:23:07,866 INFO L290 TraceCheckUtils]: 28: Hoare triple {24649#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {24649#(<= ~counter~0 1)} is VALID [2022-04-28 12:23:07,866 INFO L290 TraceCheckUtils]: 29: Hoare triple {24649#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {24649#(<= ~counter~0 1)} is VALID [2022-04-28 12:23:07,867 INFO L290 TraceCheckUtils]: 30: Hoare triple {24649#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,867 INFO L290 TraceCheckUtils]: 31: Hoare triple {24659#(<= ~counter~0 2)} assume !!(#t~post7 < 50);havoc #t~post7; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,868 INFO L272 TraceCheckUtils]: 32: Hoare triple {24659#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,868 INFO L290 TraceCheckUtils]: 33: Hoare triple {24659#(<= ~counter~0 2)} ~cond := #in~cond; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,868 INFO L290 TraceCheckUtils]: 34: Hoare triple {24659#(<= ~counter~0 2)} assume !(0 == ~cond); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,869 INFO L290 TraceCheckUtils]: 35: Hoare triple {24659#(<= ~counter~0 2)} assume true; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,869 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {24659#(<= ~counter~0 2)} {24659#(<= ~counter~0 2)} #86#return; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,870 INFO L272 TraceCheckUtils]: 37: Hoare triple {24659#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,870 INFO L290 TraceCheckUtils]: 38: Hoare triple {24659#(<= ~counter~0 2)} ~cond := #in~cond; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,871 INFO L290 TraceCheckUtils]: 39: Hoare triple {24659#(<= ~counter~0 2)} assume !(0 == ~cond); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,871 INFO L290 TraceCheckUtils]: 40: Hoare triple {24659#(<= ~counter~0 2)} assume true; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,872 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {24659#(<= ~counter~0 2)} {24659#(<= ~counter~0 2)} #88#return; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,872 INFO L272 TraceCheckUtils]: 42: Hoare triple {24659#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,873 INFO L290 TraceCheckUtils]: 43: Hoare triple {24659#(<= ~counter~0 2)} ~cond := #in~cond; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,873 INFO L290 TraceCheckUtils]: 44: Hoare triple {24659#(<= ~counter~0 2)} assume !(0 == ~cond); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,873 INFO L290 TraceCheckUtils]: 45: Hoare triple {24659#(<= ~counter~0 2)} assume true; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,874 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {24659#(<= ~counter~0 2)} {24659#(<= ~counter~0 2)} #90#return; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,875 INFO L272 TraceCheckUtils]: 47: Hoare triple {24659#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,875 INFO L290 TraceCheckUtils]: 48: Hoare triple {24659#(<= ~counter~0 2)} ~cond := #in~cond; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,876 INFO L290 TraceCheckUtils]: 49: Hoare triple {24659#(<= ~counter~0 2)} assume !(0 == ~cond); {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,876 INFO L290 TraceCheckUtils]: 50: Hoare triple {24659#(<= ~counter~0 2)} assume true; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,877 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {24659#(<= ~counter~0 2)} {24659#(<= ~counter~0 2)} #92#return; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,877 INFO L290 TraceCheckUtils]: 52: Hoare triple {24659#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {24659#(<= ~counter~0 2)} is VALID [2022-04-28 12:23:07,878 INFO L290 TraceCheckUtils]: 53: Hoare triple {24659#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,878 INFO L290 TraceCheckUtils]: 54: Hoare triple {24729#(<= ~counter~0 3)} assume !!(#t~post7 < 50);havoc #t~post7; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,879 INFO L272 TraceCheckUtils]: 55: Hoare triple {24729#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,879 INFO L290 TraceCheckUtils]: 56: Hoare triple {24729#(<= ~counter~0 3)} ~cond := #in~cond; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,879 INFO L290 TraceCheckUtils]: 57: Hoare triple {24729#(<= ~counter~0 3)} assume !(0 == ~cond); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,880 INFO L290 TraceCheckUtils]: 58: Hoare triple {24729#(<= ~counter~0 3)} assume true; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,880 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {24729#(<= ~counter~0 3)} {24729#(<= ~counter~0 3)} #86#return; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,881 INFO L272 TraceCheckUtils]: 60: Hoare triple {24729#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,882 INFO L290 TraceCheckUtils]: 61: Hoare triple {24729#(<= ~counter~0 3)} ~cond := #in~cond; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,882 INFO L290 TraceCheckUtils]: 62: Hoare triple {24729#(<= ~counter~0 3)} assume !(0 == ~cond); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,882 INFO L290 TraceCheckUtils]: 63: Hoare triple {24729#(<= ~counter~0 3)} assume true; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,883 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {24729#(<= ~counter~0 3)} {24729#(<= ~counter~0 3)} #88#return; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,884 INFO L272 TraceCheckUtils]: 65: Hoare triple {24729#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,884 INFO L290 TraceCheckUtils]: 66: Hoare triple {24729#(<= ~counter~0 3)} ~cond := #in~cond; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,885 INFO L290 TraceCheckUtils]: 67: Hoare triple {24729#(<= ~counter~0 3)} assume !(0 == ~cond); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,885 INFO L290 TraceCheckUtils]: 68: Hoare triple {24729#(<= ~counter~0 3)} assume true; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,886 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {24729#(<= ~counter~0 3)} {24729#(<= ~counter~0 3)} #90#return; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,887 INFO L272 TraceCheckUtils]: 70: Hoare triple {24729#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,887 INFO L290 TraceCheckUtils]: 71: Hoare triple {24729#(<= ~counter~0 3)} ~cond := #in~cond; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,887 INFO L290 TraceCheckUtils]: 72: Hoare triple {24729#(<= ~counter~0 3)} assume !(0 == ~cond); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,888 INFO L290 TraceCheckUtils]: 73: Hoare triple {24729#(<= ~counter~0 3)} assume true; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,888 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {24729#(<= ~counter~0 3)} {24729#(<= ~counter~0 3)} #92#return; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,889 INFO L290 TraceCheckUtils]: 75: Hoare triple {24729#(<= ~counter~0 3)} assume !(~c~0 >= ~b~0); {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,889 INFO L290 TraceCheckUtils]: 76: Hoare triple {24729#(<= ~counter~0 3)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {24729#(<= ~counter~0 3)} is VALID [2022-04-28 12:23:07,890 INFO L290 TraceCheckUtils]: 77: Hoare triple {24729#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24802#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:07,890 INFO L290 TraceCheckUtils]: 78: Hoare triple {24802#(<= ~counter~0 4)} assume !!(#t~post6 < 50);havoc #t~post6; {24802#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:07,891 INFO L290 TraceCheckUtils]: 79: Hoare triple {24802#(<= ~counter~0 4)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {24802#(<= ~counter~0 4)} is VALID [2022-04-28 12:23:07,891 INFO L290 TraceCheckUtils]: 80: Hoare triple {24802#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24812#(<= |main_#t~post7| 4)} is VALID [2022-04-28 12:23:07,891 INFO L290 TraceCheckUtils]: 81: Hoare triple {24812#(<= |main_#t~post7| 4)} assume !(#t~post7 < 50);havoc #t~post7; {24563#false} is VALID [2022-04-28 12:23:07,892 INFO L290 TraceCheckUtils]: 82: Hoare triple {24563#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {24563#false} is VALID [2022-04-28 12:23:07,892 INFO L290 TraceCheckUtils]: 83: Hoare triple {24563#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24563#false} is VALID [2022-04-28 12:23:07,892 INFO L290 TraceCheckUtils]: 84: Hoare triple {24563#false} assume !(#t~post6 < 50);havoc #t~post6; {24563#false} is VALID [2022-04-28 12:23:07,892 INFO L272 TraceCheckUtils]: 85: Hoare triple {24563#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {24563#false} is VALID [2022-04-28 12:23:07,892 INFO L290 TraceCheckUtils]: 86: Hoare triple {24563#false} ~cond := #in~cond; {24563#false} is VALID [2022-04-28 12:23:07,892 INFO L290 TraceCheckUtils]: 87: Hoare triple {24563#false} assume 0 == ~cond; {24563#false} is VALID [2022-04-28 12:23:07,892 INFO L290 TraceCheckUtils]: 88: Hoare triple {24563#false} assume !false; {24563#false} is VALID [2022-04-28 12:23:07,893 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 21 proven. 78 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-28 12:23:07,893 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:23:08,231 INFO L290 TraceCheckUtils]: 88: Hoare triple {24563#false} assume !false; {24563#false} is VALID [2022-04-28 12:23:08,231 INFO L290 TraceCheckUtils]: 87: Hoare triple {24563#false} assume 0 == ~cond; {24563#false} is VALID [2022-04-28 12:23:08,231 INFO L290 TraceCheckUtils]: 86: Hoare triple {24563#false} ~cond := #in~cond; {24563#false} is VALID [2022-04-28 12:23:08,231 INFO L272 TraceCheckUtils]: 85: Hoare triple {24563#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {24563#false} is VALID [2022-04-28 12:23:08,231 INFO L290 TraceCheckUtils]: 84: Hoare triple {24563#false} assume !(#t~post6 < 50);havoc #t~post6; {24563#false} is VALID [2022-04-28 12:23:08,231 INFO L290 TraceCheckUtils]: 83: Hoare triple {24563#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24563#false} is VALID [2022-04-28 12:23:08,231 INFO L290 TraceCheckUtils]: 82: Hoare triple {24563#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {24563#false} is VALID [2022-04-28 12:23:08,232 INFO L290 TraceCheckUtils]: 81: Hoare triple {24858#(< |main_#t~post7| 50)} assume !(#t~post7 < 50);havoc #t~post7; {24563#false} is VALID [2022-04-28 12:23:08,232 INFO L290 TraceCheckUtils]: 80: Hoare triple {24862#(< ~counter~0 50)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24858#(< |main_#t~post7| 50)} is VALID [2022-04-28 12:23:08,232 INFO L290 TraceCheckUtils]: 79: Hoare triple {24862#(< ~counter~0 50)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {24862#(< ~counter~0 50)} is VALID [2022-04-28 12:23:08,233 INFO L290 TraceCheckUtils]: 78: Hoare triple {24862#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {24862#(< ~counter~0 50)} is VALID [2022-04-28 12:23:08,234 INFO L290 TraceCheckUtils]: 77: Hoare triple {24872#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24862#(< ~counter~0 50)} is VALID [2022-04-28 12:23:08,234 INFO L290 TraceCheckUtils]: 76: Hoare triple {24872#(< ~counter~0 49)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {24872#(< ~counter~0 49)} is VALID [2022-04-28 12:23:08,234 INFO L290 TraceCheckUtils]: 75: Hoare triple {24872#(< ~counter~0 49)} assume !(~c~0 >= ~b~0); {24872#(< ~counter~0 49)} is VALID [2022-04-28 12:23:08,235 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {24562#true} {24872#(< ~counter~0 49)} #92#return; {24872#(< ~counter~0 49)} is VALID [2022-04-28 12:23:08,235 INFO L290 TraceCheckUtils]: 73: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:23:08,235 INFO L290 TraceCheckUtils]: 72: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:23:08,235 INFO L290 TraceCheckUtils]: 71: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:23:08,235 INFO L272 TraceCheckUtils]: 70: Hoare triple {24872#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:23:08,236 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {24562#true} {24872#(< ~counter~0 49)} #90#return; {24872#(< ~counter~0 49)} is VALID [2022-04-28 12:23:08,236 INFO L290 TraceCheckUtils]: 68: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:23:08,236 INFO L290 TraceCheckUtils]: 67: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:23:08,236 INFO L290 TraceCheckUtils]: 66: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:23:08,236 INFO L272 TraceCheckUtils]: 65: Hoare triple {24872#(< ~counter~0 49)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:23:08,236 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {24562#true} {24872#(< ~counter~0 49)} #88#return; {24872#(< ~counter~0 49)} is VALID [2022-04-28 12:23:08,236 INFO L290 TraceCheckUtils]: 63: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:23:08,237 INFO L290 TraceCheckUtils]: 62: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:23:08,237 INFO L290 TraceCheckUtils]: 61: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:23:08,237 INFO L272 TraceCheckUtils]: 60: Hoare triple {24872#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:23:08,237 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {24562#true} {24872#(< ~counter~0 49)} #86#return; {24872#(< ~counter~0 49)} is VALID [2022-04-28 12:23:08,237 INFO L290 TraceCheckUtils]: 58: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:23:08,237 INFO L290 TraceCheckUtils]: 57: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:23:08,237 INFO L290 TraceCheckUtils]: 56: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:23:08,237 INFO L272 TraceCheckUtils]: 55: Hoare triple {24872#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:23:08,238 INFO L290 TraceCheckUtils]: 54: Hoare triple {24872#(< ~counter~0 49)} assume !!(#t~post7 < 50);havoc #t~post7; {24872#(< ~counter~0 49)} is VALID [2022-04-28 12:23:08,238 INFO L290 TraceCheckUtils]: 53: Hoare triple {24945#(< ~counter~0 48)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24872#(< ~counter~0 49)} is VALID [2022-04-28 12:23:08,238 INFO L290 TraceCheckUtils]: 52: Hoare triple {24945#(< ~counter~0 48)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {24945#(< ~counter~0 48)} is VALID [2022-04-28 12:23:08,239 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {24562#true} {24945#(< ~counter~0 48)} #92#return; {24945#(< ~counter~0 48)} is VALID [2022-04-28 12:23:08,239 INFO L290 TraceCheckUtils]: 50: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:23:08,239 INFO L290 TraceCheckUtils]: 49: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:23:08,239 INFO L290 TraceCheckUtils]: 48: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:23:08,239 INFO L272 TraceCheckUtils]: 47: Hoare triple {24945#(< ~counter~0 48)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:23:08,240 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {24562#true} {24945#(< ~counter~0 48)} #90#return; {24945#(< ~counter~0 48)} is VALID [2022-04-28 12:23:08,240 INFO L290 TraceCheckUtils]: 45: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:23:08,240 INFO L290 TraceCheckUtils]: 44: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:23:08,240 INFO L290 TraceCheckUtils]: 43: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:23:08,240 INFO L272 TraceCheckUtils]: 42: Hoare triple {24945#(< ~counter~0 48)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:23:08,241 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {24562#true} {24945#(< ~counter~0 48)} #88#return; {24945#(< ~counter~0 48)} is VALID [2022-04-28 12:23:08,241 INFO L290 TraceCheckUtils]: 40: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:23:08,241 INFO L290 TraceCheckUtils]: 39: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:23:08,241 INFO L290 TraceCheckUtils]: 38: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:23:08,241 INFO L272 TraceCheckUtils]: 37: Hoare triple {24945#(< ~counter~0 48)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:23:08,241 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {24562#true} {24945#(< ~counter~0 48)} #86#return; {24945#(< ~counter~0 48)} is VALID [2022-04-28 12:23:08,242 INFO L290 TraceCheckUtils]: 35: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:23:08,242 INFO L290 TraceCheckUtils]: 34: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:23:08,242 INFO L290 TraceCheckUtils]: 33: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:23:08,242 INFO L272 TraceCheckUtils]: 32: Hoare triple {24945#(< ~counter~0 48)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:23:08,242 INFO L290 TraceCheckUtils]: 31: Hoare triple {24945#(< ~counter~0 48)} assume !!(#t~post7 < 50);havoc #t~post7; {24945#(< ~counter~0 48)} is VALID [2022-04-28 12:23:08,243 INFO L290 TraceCheckUtils]: 30: Hoare triple {25015#(< ~counter~0 47)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {24945#(< ~counter~0 48)} is VALID [2022-04-28 12:23:08,243 INFO L290 TraceCheckUtils]: 29: Hoare triple {25015#(< ~counter~0 47)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {25015#(< ~counter~0 47)} is VALID [2022-04-28 12:23:08,243 INFO L290 TraceCheckUtils]: 28: Hoare triple {25015#(< ~counter~0 47)} assume !!(#t~post6 < 50);havoc #t~post6; {25015#(< ~counter~0 47)} is VALID [2022-04-28 12:23:08,244 INFO L290 TraceCheckUtils]: 27: Hoare triple {25025#(< ~counter~0 46)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25015#(< ~counter~0 47)} is VALID [2022-04-28 12:23:08,244 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {24562#true} {25025#(< ~counter~0 46)} #84#return; {25025#(< ~counter~0 46)} is VALID [2022-04-28 12:23:08,244 INFO L290 TraceCheckUtils]: 25: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:23:08,244 INFO L290 TraceCheckUtils]: 24: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:23:08,244 INFO L290 TraceCheckUtils]: 23: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:23:08,244 INFO L272 TraceCheckUtils]: 22: Hoare triple {25025#(< ~counter~0 46)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:23:08,245 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {24562#true} {25025#(< ~counter~0 46)} #82#return; {25025#(< ~counter~0 46)} is VALID [2022-04-28 12:23:08,245 INFO L290 TraceCheckUtils]: 20: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:23:08,245 INFO L290 TraceCheckUtils]: 19: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:23:08,245 INFO L290 TraceCheckUtils]: 18: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:23:08,245 INFO L272 TraceCheckUtils]: 17: Hoare triple {25025#(< ~counter~0 46)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:23:08,245 INFO L290 TraceCheckUtils]: 16: Hoare triple {25025#(< ~counter~0 46)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {25025#(< ~counter~0 46)} is VALID [2022-04-28 12:23:08,246 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {24562#true} {25025#(< ~counter~0 46)} #80#return; {25025#(< ~counter~0 46)} is VALID [2022-04-28 12:23:08,246 INFO L290 TraceCheckUtils]: 14: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:23:08,246 INFO L290 TraceCheckUtils]: 13: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:23:08,246 INFO L290 TraceCheckUtils]: 12: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:23:08,246 INFO L272 TraceCheckUtils]: 11: Hoare triple {25025#(< ~counter~0 46)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:23:08,246 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24562#true} {25025#(< ~counter~0 46)} #78#return; {25025#(< ~counter~0 46)} is VALID [2022-04-28 12:23:08,246 INFO L290 TraceCheckUtils]: 9: Hoare triple {24562#true} assume true; {24562#true} is VALID [2022-04-28 12:23:08,246 INFO L290 TraceCheckUtils]: 8: Hoare triple {24562#true} assume !(0 == ~cond); {24562#true} is VALID [2022-04-28 12:23:08,247 INFO L290 TraceCheckUtils]: 7: Hoare triple {24562#true} ~cond := #in~cond; {24562#true} is VALID [2022-04-28 12:23:08,247 INFO L272 TraceCheckUtils]: 6: Hoare triple {25025#(< ~counter~0 46)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {24562#true} is VALID [2022-04-28 12:23:08,247 INFO L290 TraceCheckUtils]: 5: Hoare triple {25025#(< ~counter~0 46)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25025#(< ~counter~0 46)} is VALID [2022-04-28 12:23:08,247 INFO L272 TraceCheckUtils]: 4: Hoare triple {25025#(< ~counter~0 46)} call #t~ret8 := main(); {25025#(< ~counter~0 46)} is VALID [2022-04-28 12:23:08,247 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25025#(< ~counter~0 46)} {24562#true} #98#return; {25025#(< ~counter~0 46)} is VALID [2022-04-28 12:23:08,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {25025#(< ~counter~0 46)} assume true; {25025#(< ~counter~0 46)} is VALID [2022-04-28 12:23:08,248 INFO L290 TraceCheckUtils]: 1: Hoare triple {24562#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {25025#(< ~counter~0 46)} is VALID [2022-04-28 12:23:08,248 INFO L272 TraceCheckUtils]: 0: Hoare triple {24562#true} call ULTIMATE.init(); {24562#true} is VALID [2022-04-28 12:23:08,249 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 21 proven. 14 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-28 12:23:08,249 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:23:08,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [110526067] [2022-04-28 12:23:08,249 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:23:08,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1347050294] [2022-04-28 12:23:08,249 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1347050294] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:23:08,249 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:23:08,249 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 12:23:08,249 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:23:08,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [586519355] [2022-04-28 12:23:08,249 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [586519355] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:23:08,249 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:23:08,250 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:23:08,250 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1269357432] [2022-04-28 12:23:08,250 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:23:08,250 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) Word has length 89 [2022-04-28 12:23:08,250 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:23:08,250 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:23:08,297 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:08,297 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:23:08,297 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:23:08,297 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:23:08,298 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:23:08,298 INFO L87 Difference]: Start difference. First operand 293 states and 404 transitions. Second operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:23:09,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:09,196 INFO L93 Difference]: Finished difference Result 463 states and 647 transitions. [2022-04-28 12:23:09,196 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:23:09,197 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) Word has length 89 [2022-04-28 12:23:09,197 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:23:09,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:23:09,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 133 transitions. [2022-04-28 12:23:09,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:23:09,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 133 transitions. [2022-04-28 12:23:09,200 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 133 transitions. [2022-04-28 12:23:09,301 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 133 edges. 133 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:09,314 INFO L225 Difference]: With dead ends: 463 [2022-04-28 12:23:09,314 INFO L226 Difference]: Without dead ends: 329 [2022-04-28 12:23:09,314 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 180 GetRequests, 165 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=107, Invalid=165, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:23:09,315 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 46 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 177 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:23:09,315 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 177 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [47 Valid, 62 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:23:09,315 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 329 states. [2022-04-28 12:23:09,884 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 329 to 327. [2022-04-28 12:23:09,884 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:23:09,885 INFO L82 GeneralOperation]: Start isEquivalent. First operand 329 states. Second operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:23:09,885 INFO L74 IsIncluded]: Start isIncluded. First operand 329 states. Second operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:23:09,886 INFO L87 Difference]: Start difference. First operand 329 states. Second operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:23:09,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:09,895 INFO L93 Difference]: Finished difference Result 329 states and 435 transitions. [2022-04-28 12:23:09,895 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 435 transitions. [2022-04-28 12:23:09,896 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:23:09,896 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:23:09,897 INFO L74 IsIncluded]: Start isIncluded. First operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 329 states. [2022-04-28 12:23:09,897 INFO L87 Difference]: Start difference. First operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 329 states. [2022-04-28 12:23:09,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:09,906 INFO L93 Difference]: Finished difference Result 329 states and 435 transitions. [2022-04-28 12:23:09,906 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 435 transitions. [2022-04-28 12:23:09,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:23:09,907 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:23:09,907 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:23:09,908 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:23:09,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 327 states, 207 states have (on average 1.2367149758454106) internal successors, (256), 214 states have internal predecessors, (256), 90 states have call successors, (90), 30 states have call predecessors, (90), 29 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:23:09,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 327 states to 327 states and 433 transitions. [2022-04-28 12:23:09,919 INFO L78 Accepts]: Start accepts. Automaton has 327 states and 433 transitions. Word has length 89 [2022-04-28 12:23:09,919 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:23:09,919 INFO L495 AbstractCegarLoop]: Abstraction has 327 states and 433 transitions. [2022-04-28 12:23:09,919 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 5 states have call successors, (15), 5 states have call predecessors, (15), 3 states have return successors, (13), 3 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 12:23:09,919 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 327 states and 433 transitions. [2022-04-28 12:23:10,636 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 433 edges. 433 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:10,636 INFO L276 IsEmpty]: Start isEmpty. Operand 327 states and 433 transitions. [2022-04-28 12:23:10,637 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 102 [2022-04-28 12:23:10,637 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:23:10,637 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:23:10,662 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-28 12:23:10,837 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-28 12:23:10,838 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:23:10,838 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:23:10,838 INFO L85 PathProgramCache]: Analyzing trace with hash 1415088729, now seen corresponding path program 1 times [2022-04-28 12:23:10,838 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:23:10,838 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1742634284] [2022-04-28 12:23:10,839 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:23:10,839 INFO L85 PathProgramCache]: Analyzing trace with hash 1415088729, now seen corresponding path program 2 times [2022-04-28 12:23:10,839 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:23:10,839 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [86889198] [2022-04-28 12:23:10,839 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:23:10,839 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:23:10,848 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:23:10,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [158549548] [2022-04-28 12:23:10,848 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:23:10,849 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:23:10,849 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:23:10,850 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:23:10,851 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 12:23:10,915 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:23:10,916 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:23:10,917 INFO L263 TraceCheckSpWp]: Trace formula consists of 274 conjuncts, 64 conjunts are in the unsatisfiable core [2022-04-28 12:23:10,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:23:10,944 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:23:15,521 INFO L272 TraceCheckUtils]: 0: Hoare triple {27353#true} call ULTIMATE.init(); {27353#true} is VALID [2022-04-28 12:23:15,521 INFO L290 TraceCheckUtils]: 1: Hoare triple {27353#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27353#true} is VALID [2022-04-28 12:23:15,521 INFO L290 TraceCheckUtils]: 2: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:23:15,521 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27353#true} {27353#true} #98#return; {27353#true} is VALID [2022-04-28 12:23:15,522 INFO L272 TraceCheckUtils]: 4: Hoare triple {27353#true} call #t~ret8 := main(); {27353#true} is VALID [2022-04-28 12:23:15,522 INFO L290 TraceCheckUtils]: 5: Hoare triple {27353#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27353#true} is VALID [2022-04-28 12:23:15,522 INFO L272 TraceCheckUtils]: 6: Hoare triple {27353#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:23:15,522 INFO L290 TraceCheckUtils]: 7: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:23:15,522 INFO L290 TraceCheckUtils]: 8: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:23:15,522 INFO L290 TraceCheckUtils]: 9: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:23:15,522 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27353#true} {27353#true} #78#return; {27353#true} is VALID [2022-04-28 12:23:15,522 INFO L272 TraceCheckUtils]: 11: Hoare triple {27353#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:23:15,523 INFO L290 TraceCheckUtils]: 12: Hoare triple {27353#true} ~cond := #in~cond; {27394#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:23:15,523 INFO L290 TraceCheckUtils]: 13: Hoare triple {27394#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {27398#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:23:15,523 INFO L290 TraceCheckUtils]: 14: Hoare triple {27398#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {27398#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:23:15,524 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27398#(not (= |assume_abort_if_not_#in~cond| 0))} {27353#true} #80#return; {27405#(<= 1 main_~y~0)} is VALID [2022-04-28 12:23:15,525 INFO L290 TraceCheckUtils]: 16: Hoare triple {27405#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:15,525 INFO L272 TraceCheckUtils]: 17: Hoare triple {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:23:15,525 INFO L290 TraceCheckUtils]: 18: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:23:15,525 INFO L290 TraceCheckUtils]: 19: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:23:15,525 INFO L290 TraceCheckUtils]: 20: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:23:15,526 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {27353#true} {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #82#return; {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:15,526 INFO L272 TraceCheckUtils]: 22: Hoare triple {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:23:15,526 INFO L290 TraceCheckUtils]: 23: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:23:15,526 INFO L290 TraceCheckUtils]: 24: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:23:15,526 INFO L290 TraceCheckUtils]: 25: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:23:15,527 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {27353#true} {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #84#return; {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:15,528 INFO L290 TraceCheckUtils]: 27: Hoare triple {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:15,528 INFO L290 TraceCheckUtils]: 28: Hoare triple {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 50);havoc #t~post6; {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:15,529 INFO L290 TraceCheckUtils]: 29: Hoare triple {27409#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:15,529 INFO L290 TraceCheckUtils]: 30: Hoare triple {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:15,530 INFO L290 TraceCheckUtils]: 31: Hoare triple {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(#t~post7 < 50);havoc #t~post7; {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:15,530 INFO L272 TraceCheckUtils]: 32: Hoare triple {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:23:15,530 INFO L290 TraceCheckUtils]: 33: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:23:15,530 INFO L290 TraceCheckUtils]: 34: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:23:15,530 INFO L290 TraceCheckUtils]: 35: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:23:15,531 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {27353#true} {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #86#return; {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:15,531 INFO L272 TraceCheckUtils]: 37: Hoare triple {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {27353#true} is VALID [2022-04-28 12:23:15,532 INFO L290 TraceCheckUtils]: 38: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:23:15,532 INFO L290 TraceCheckUtils]: 39: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:23:15,532 INFO L290 TraceCheckUtils]: 40: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:23:15,533 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {27353#true} {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #88#return; {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:15,533 INFO L272 TraceCheckUtils]: 42: Hoare triple {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {27353#true} is VALID [2022-04-28 12:23:15,533 INFO L290 TraceCheckUtils]: 43: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:23:15,533 INFO L290 TraceCheckUtils]: 44: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:23:15,533 INFO L290 TraceCheckUtils]: 45: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:23:15,534 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {27353#true} {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #90#return; {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:15,534 INFO L272 TraceCheckUtils]: 47: Hoare triple {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:23:15,534 INFO L290 TraceCheckUtils]: 48: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:23:15,534 INFO L290 TraceCheckUtils]: 49: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:23:15,534 INFO L290 TraceCheckUtils]: 50: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:23:15,535 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {27353#true} {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #92#return; {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:15,537 INFO L290 TraceCheckUtils]: 52: Hoare triple {27449#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {27519#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:15,537 INFO L290 TraceCheckUtils]: 53: Hoare triple {27519#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27519#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:15,538 INFO L290 TraceCheckUtils]: 54: Hoare triple {27519#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(#t~post7 < 50);havoc #t~post7; {27519#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:15,538 INFO L272 TraceCheckUtils]: 55: Hoare triple {27519#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:23:15,538 INFO L290 TraceCheckUtils]: 56: Hoare triple {27353#true} ~cond := #in~cond; {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:15,539 INFO L290 TraceCheckUtils]: 57: Hoare triple {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:15,539 INFO L290 TraceCheckUtils]: 58: Hoare triple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:15,541 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} {27519#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~a~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #86#return; {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:23:15,541 INFO L272 TraceCheckUtils]: 60: Hoare triple {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:23:15,541 INFO L290 TraceCheckUtils]: 61: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:23:15,541 INFO L290 TraceCheckUtils]: 62: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:23:15,541 INFO L290 TraceCheckUtils]: 63: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:23:15,542 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {27353#true} {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:23:15,542 INFO L272 TraceCheckUtils]: 65: Hoare triple {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:23:15,543 INFO L290 TraceCheckUtils]: 66: Hoare triple {27353#true} ~cond := #in~cond; {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:15,543 INFO L290 TraceCheckUtils]: 67: Hoare triple {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:15,543 INFO L290 TraceCheckUtils]: 68: Hoare triple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:15,544 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:23:15,544 INFO L272 TraceCheckUtils]: 70: Hoare triple {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:23:15,545 INFO L290 TraceCheckUtils]: 71: Hoare triple {27353#true} ~cond := #in~cond; {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:15,545 INFO L290 TraceCheckUtils]: 72: Hoare triple {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:15,545 INFO L290 TraceCheckUtils]: 73: Hoare triple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:15,546 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #92#return; {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:23:15,547 INFO L290 TraceCheckUtils]: 75: Hoare triple {27543#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (<= main_~b~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {27592#(and (= main_~r~0 0) (<= main_~y~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (< main_~c~0 main_~y~0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 (* main_~k~0 main_~y~0))))} is VALID [2022-04-28 12:23:15,548 INFO L290 TraceCheckUtils]: 76: Hoare triple {27592#(and (= main_~r~0 0) (<= main_~y~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (< main_~c~0 main_~y~0) (= main_~s~0 1) (= main_~k~0 1) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~x~0 (+ main_~c~0 (* main_~k~0 main_~y~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:23:15,549 INFO L290 TraceCheckUtils]: 77: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:23:15,549 INFO L290 TraceCheckUtils]: 78: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} assume !!(#t~post6 < 50);havoc #t~post6; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:23:15,550 INFO L290 TraceCheckUtils]: 79: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:23:15,550 INFO L290 TraceCheckUtils]: 80: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:23:15,551 INFO L290 TraceCheckUtils]: 81: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} assume !!(#t~post7 < 50);havoc #t~post7; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:23:15,551 INFO L272 TraceCheckUtils]: 82: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:23:15,551 INFO L290 TraceCheckUtils]: 83: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:23:15,551 INFO L290 TraceCheckUtils]: 84: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:23:15,551 INFO L290 TraceCheckUtils]: 85: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:23:15,552 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {27353#true} {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #86#return; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:23:15,552 INFO L272 TraceCheckUtils]: 87: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:23:15,552 INFO L290 TraceCheckUtils]: 88: Hoare triple {27353#true} ~cond := #in~cond; {27353#true} is VALID [2022-04-28 12:23:15,553 INFO L290 TraceCheckUtils]: 89: Hoare triple {27353#true} assume !(0 == ~cond); {27353#true} is VALID [2022-04-28 12:23:15,553 INFO L290 TraceCheckUtils]: 90: Hoare triple {27353#true} assume true; {27353#true} is VALID [2022-04-28 12:23:15,553 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {27353#true} {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #88#return; {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:23:15,554 INFO L272 TraceCheckUtils]: 92: Hoare triple {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27353#true} is VALID [2022-04-28 12:23:15,554 INFO L290 TraceCheckUtils]: 93: Hoare triple {27353#true} ~cond := #in~cond; {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:15,554 INFO L290 TraceCheckUtils]: 94: Hoare triple {27532#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:15,555 INFO L290 TraceCheckUtils]: 95: Hoare triple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:15,555 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {27536#(not (= |__VERIFIER_assert_#in~cond| 0))} {27596#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} #90#return; {27657#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:23:15,558 INFO L272 TraceCheckUtils]: 97: Hoare triple {27657#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (< main_~x~0 (* main_~y~0 2)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= (+ main_~s~0 1) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {27661#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:23:15,558 INFO L290 TraceCheckUtils]: 98: Hoare triple {27661#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27665#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:15,558 INFO L290 TraceCheckUtils]: 99: Hoare triple {27665#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27354#false} is VALID [2022-04-28 12:23:15,558 INFO L290 TraceCheckUtils]: 100: Hoare triple {27354#false} assume !false; {27354#false} is VALID [2022-04-28 12:23:15,559 INFO L134 CoverageAnalysis]: Checked inductivity of 288 backedges. 84 proven. 53 refuted. 0 times theorem prover too weak. 151 trivial. 0 not checked. [2022-04-28 12:23:15,559 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:23:44,165 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:24:27,881 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:24:27,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [86889198] [2022-04-28 12:24:27,882 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:24:27,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [158549548] [2022-04-28 12:24:27,882 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [158549548] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:24:27,882 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:24:27,882 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-28 12:24:27,882 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:24:27,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1742634284] [2022-04-28 12:24:27,882 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1742634284] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:24:27,882 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:24:27,882 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 12:24:27,882 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [597970135] [2022-04-28 12:24:27,883 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:24:27,883 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 101 [2022-04-28 12:24:27,883 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:24:27,883 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:24:27,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:27,965 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 12:24:27,965 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:27,966 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 12:24:27,966 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=367, Unknown=2, NotChecked=0, Total=462 [2022-04-28 12:24:27,966 INFO L87 Difference]: Start difference. First operand 327 states and 433 transitions. Second operand has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:24:43,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:43,605 INFO L93 Difference]: Finished difference Result 339 states and 443 transitions. [2022-04-28 12:24:43,605 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 12:24:43,606 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 101 [2022-04-28 12:24:43,606 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:24:43,606 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:24:43,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 118 transitions. [2022-04-28 12:24:43,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:24:43,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 118 transitions. [2022-04-28 12:24:43,610 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 118 transitions. [2022-04-28 12:24:43,809 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:43,818 INFO L225 Difference]: With dead ends: 339 [2022-04-28 12:24:43,818 INFO L226 Difference]: Without dead ends: 337 [2022-04-28 12:24:43,818 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 106 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 145 ImplicationChecksByTransitivity, 10.0s TimeCoverageRelationStatistics Valid=122, Invalid=526, Unknown=2, NotChecked=0, Total=650 [2022-04-28 12:24:43,819 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 49 mSDsluCounter, 289 mSDsCounter, 0 mSdLazyCounter, 745 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 66 SdHoareTripleChecker+Valid, 337 SdHoareTripleChecker+Invalid, 774 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 745 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:24:43,819 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [66 Valid, 337 Invalid, 774 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 745 Invalid, 0 Unknown, 0 Unchecked, 5.1s Time] [2022-04-28 12:24:43,820 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 337 states. [2022-04-28 12:24:44,477 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 337 to 335. [2022-04-28 12:24:44,477 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:24:44,477 INFO L82 GeneralOperation]: Start isEquivalent. First operand 337 states. Second operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:24:44,478 INFO L74 IsIncluded]: Start isIncluded. First operand 337 states. Second operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:24:44,478 INFO L87 Difference]: Start difference. First operand 337 states. Second operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:24:44,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:44,487 INFO L93 Difference]: Finished difference Result 337 states and 441 transitions. [2022-04-28 12:24:44,487 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 441 transitions. [2022-04-28 12:24:44,488 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:24:44,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:24:44,489 INFO L74 IsIncluded]: Start isIncluded. First operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 337 states. [2022-04-28 12:24:44,490 INFO L87 Difference]: Start difference. First operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 337 states. [2022-04-28 12:24:44,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:44,499 INFO L93 Difference]: Finished difference Result 337 states and 441 transitions. [2022-04-28 12:24:44,499 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 441 transitions. [2022-04-28 12:24:44,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:24:44,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:24:44,500 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:24:44,500 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:24:44,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 335 states, 213 states have (on average 1.2300469483568075) internal successors, (262), 220 states have internal predecessors, (262), 90 states have call successors, (90), 32 states have call predecessors, (90), 31 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:24:44,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 335 states to 335 states and 439 transitions. [2022-04-28 12:24:44,511 INFO L78 Accepts]: Start accepts. Automaton has 335 states and 439 transitions. Word has length 101 [2022-04-28 12:24:44,512 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:24:44,512 INFO L495 AbstractCegarLoop]: Abstraction has 335 states and 439 transitions. [2022-04-28 12:24:44,512 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.2666666666666666) internal successors, (34), 12 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:24:44,512 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 335 states and 439 transitions. [2022-04-28 12:24:45,206 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 439 edges. 439 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:45,207 INFO L276 IsEmpty]: Start isEmpty. Operand 335 states and 439 transitions. [2022-04-28 12:24:45,207 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-28 12:24:45,207 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:24:45,207 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:24:45,224 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-28 12:24:45,411 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:24:45,412 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:24:45,412 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:24:45,412 INFO L85 PathProgramCache]: Analyzing trace with hash -1524088572, now seen corresponding path program 5 times [2022-04-28 12:24:45,412 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:45,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1086668954] [2022-04-28 12:24:45,412 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:24:45,412 INFO L85 PathProgramCache]: Analyzing trace with hash -1524088572, now seen corresponding path program 6 times [2022-04-28 12:24:45,412 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:24:45,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1068235531] [2022-04-28 12:24:45,413 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:24:45,413 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:24:45,444 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:24:45,444 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [871085653] [2022-04-28 12:24:45,444 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:24:45,444 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:24:45,445 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:24:45,447 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:24:45,460 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 12:24:45,531 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 12:24:45,531 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:24:45,532 INFO L263 TraceCheckSpWp]: Trace formula consists of 273 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 12:24:45,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:24:45,551 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:24:45,796 INFO L272 TraceCheckUtils]: 0: Hoare triple {29788#true} call ULTIMATE.init(); {29788#true} is VALID [2022-04-28 12:24:45,797 INFO L290 TraceCheckUtils]: 1: Hoare triple {29788#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {29788#true} is VALID [2022-04-28 12:24:45,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:45,797 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29788#true} {29788#true} #98#return; {29788#true} is VALID [2022-04-28 12:24:45,797 INFO L272 TraceCheckUtils]: 4: Hoare triple {29788#true} call #t~ret8 := main(); {29788#true} is VALID [2022-04-28 12:24:45,797 INFO L290 TraceCheckUtils]: 5: Hoare triple {29788#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29788#true} is VALID [2022-04-28 12:24:45,797 INFO L272 TraceCheckUtils]: 6: Hoare triple {29788#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:45,797 INFO L290 TraceCheckUtils]: 7: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:45,797 INFO L290 TraceCheckUtils]: 8: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:45,797 INFO L290 TraceCheckUtils]: 9: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:45,797 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29788#true} {29788#true} #78#return; {29788#true} is VALID [2022-04-28 12:24:45,797 INFO L272 TraceCheckUtils]: 11: Hoare triple {29788#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:45,797 INFO L290 TraceCheckUtils]: 12: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:45,797 INFO L290 TraceCheckUtils]: 13: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:45,798 INFO L290 TraceCheckUtils]: 14: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:45,798 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29788#true} {29788#true} #80#return; {29788#true} is VALID [2022-04-28 12:24:45,798 INFO L290 TraceCheckUtils]: 16: Hoare triple {29788#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {29788#true} is VALID [2022-04-28 12:24:45,798 INFO L272 TraceCheckUtils]: 17: Hoare triple {29788#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:45,798 INFO L290 TraceCheckUtils]: 18: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:45,798 INFO L290 TraceCheckUtils]: 19: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:45,798 INFO L290 TraceCheckUtils]: 20: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:45,798 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {29788#true} {29788#true} #82#return; {29788#true} is VALID [2022-04-28 12:24:45,798 INFO L272 TraceCheckUtils]: 22: Hoare triple {29788#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:45,798 INFO L290 TraceCheckUtils]: 23: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:45,798 INFO L290 TraceCheckUtils]: 24: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:45,798 INFO L290 TraceCheckUtils]: 25: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:45,798 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {29788#true} {29788#true} #84#return; {29788#true} is VALID [2022-04-28 12:24:45,798 INFO L290 TraceCheckUtils]: 27: Hoare triple {29788#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29788#true} is VALID [2022-04-28 12:24:45,798 INFO L290 TraceCheckUtils]: 28: Hoare triple {29788#true} assume !!(#t~post6 < 50);havoc #t~post6; {29788#true} is VALID [2022-04-28 12:24:45,799 INFO L290 TraceCheckUtils]: 29: Hoare triple {29788#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {29788#true} is VALID [2022-04-28 12:24:45,799 INFO L290 TraceCheckUtils]: 30: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 12:24:45,799 INFO L290 TraceCheckUtils]: 31: Hoare triple {29788#true} assume !!(#t~post7 < 50);havoc #t~post7; {29788#true} is VALID [2022-04-28 12:24:45,799 INFO L272 TraceCheckUtils]: 32: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:45,799 INFO L290 TraceCheckUtils]: 33: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:45,799 INFO L290 TraceCheckUtils]: 34: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:45,799 INFO L290 TraceCheckUtils]: 35: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:45,799 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {29788#true} {29788#true} #86#return; {29788#true} is VALID [2022-04-28 12:24:45,799 INFO L272 TraceCheckUtils]: 37: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:45,799 INFO L290 TraceCheckUtils]: 38: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:45,799 INFO L290 TraceCheckUtils]: 39: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:45,799 INFO L290 TraceCheckUtils]: 40: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:45,799 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {29788#true} {29788#true} #88#return; {29788#true} is VALID [2022-04-28 12:24:45,799 INFO L272 TraceCheckUtils]: 42: Hoare triple {29788#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:45,800 INFO L290 TraceCheckUtils]: 43: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:45,800 INFO L290 TraceCheckUtils]: 44: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:45,800 INFO L290 TraceCheckUtils]: 45: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:45,800 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {29788#true} {29788#true} #90#return; {29788#true} is VALID [2022-04-28 12:24:45,800 INFO L272 TraceCheckUtils]: 47: Hoare triple {29788#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:45,800 INFO L290 TraceCheckUtils]: 48: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:45,800 INFO L290 TraceCheckUtils]: 49: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:45,800 INFO L290 TraceCheckUtils]: 50: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:45,800 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {29788#true} {29788#true} #92#return; {29788#true} is VALID [2022-04-28 12:24:45,800 INFO L290 TraceCheckUtils]: 52: Hoare triple {29788#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {29788#true} is VALID [2022-04-28 12:24:45,800 INFO L290 TraceCheckUtils]: 53: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 12:24:45,800 INFO L290 TraceCheckUtils]: 54: Hoare triple {29788#true} assume !!(#t~post7 < 50);havoc #t~post7; {29788#true} is VALID [2022-04-28 12:24:45,800 INFO L272 TraceCheckUtils]: 55: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:45,800 INFO L290 TraceCheckUtils]: 56: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:45,800 INFO L290 TraceCheckUtils]: 57: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:45,801 INFO L290 TraceCheckUtils]: 58: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:45,801 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {29788#true} {29788#true} #86#return; {29788#true} is VALID [2022-04-28 12:24:45,801 INFO L272 TraceCheckUtils]: 60: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:45,801 INFO L290 TraceCheckUtils]: 61: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:45,801 INFO L290 TraceCheckUtils]: 62: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:45,801 INFO L290 TraceCheckUtils]: 63: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:45,801 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {29788#true} {29788#true} #88#return; {29788#true} is VALID [2022-04-28 12:24:45,801 INFO L272 TraceCheckUtils]: 65: Hoare triple {29788#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:45,801 INFO L290 TraceCheckUtils]: 66: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:45,801 INFO L290 TraceCheckUtils]: 67: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:45,801 INFO L290 TraceCheckUtils]: 68: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:45,801 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {29788#true} {29788#true} #90#return; {29788#true} is VALID [2022-04-28 12:24:45,801 INFO L272 TraceCheckUtils]: 70: Hoare triple {29788#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:45,801 INFO L290 TraceCheckUtils]: 71: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:45,801 INFO L290 TraceCheckUtils]: 72: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:45,802 INFO L290 TraceCheckUtils]: 73: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:45,802 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {29788#true} {29788#true} #92#return; {29788#true} is VALID [2022-04-28 12:24:45,802 INFO L290 TraceCheckUtils]: 75: Hoare triple {29788#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {29788#true} is VALID [2022-04-28 12:24:45,802 INFO L290 TraceCheckUtils]: 76: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 12:24:45,802 INFO L290 TraceCheckUtils]: 77: Hoare triple {29788#true} assume !!(#t~post7 < 50);havoc #t~post7; {29788#true} is VALID [2022-04-28 12:24:45,802 INFO L272 TraceCheckUtils]: 78: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:45,802 INFO L290 TraceCheckUtils]: 79: Hoare triple {29788#true} ~cond := #in~cond; {30030#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:24:45,802 INFO L290 TraceCheckUtils]: 80: Hoare triple {30030#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:24:45,803 INFO L290 TraceCheckUtils]: 81: Hoare triple {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:24:45,803 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} {29788#true} #86#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:24:45,803 INFO L272 TraceCheckUtils]: 83: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:45,803 INFO L290 TraceCheckUtils]: 84: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:45,804 INFO L290 TraceCheckUtils]: 85: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:45,804 INFO L290 TraceCheckUtils]: 86: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:45,804 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:24:45,804 INFO L272 TraceCheckUtils]: 88: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:45,804 INFO L290 TraceCheckUtils]: 89: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:45,804 INFO L290 TraceCheckUtils]: 90: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:45,805 INFO L290 TraceCheckUtils]: 91: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:45,805 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:24:45,805 INFO L272 TraceCheckUtils]: 93: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:45,805 INFO L290 TraceCheckUtils]: 94: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:45,805 INFO L290 TraceCheckUtils]: 95: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:45,805 INFO L290 TraceCheckUtils]: 96: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:45,806 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #92#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:24:45,808 INFO L290 TraceCheckUtils]: 98: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:24:45,808 INFO L290 TraceCheckUtils]: 99: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:24:45,809 INFO L290 TraceCheckUtils]: 100: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(#t~post7 < 50);havoc #t~post7; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:24:45,809 INFO L272 TraceCheckUtils]: 101: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {30099#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:24:45,809 INFO L290 TraceCheckUtils]: 102: Hoare triple {30099#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {30103#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:24:45,810 INFO L290 TraceCheckUtils]: 103: Hoare triple {30103#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29789#false} is VALID [2022-04-28 12:24:45,810 INFO L290 TraceCheckUtils]: 104: Hoare triple {29789#false} assume !false; {29789#false} is VALID [2022-04-28 12:24:45,810 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 64 proven. 10 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 12:24:45,810 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:24:52,604 INFO L290 TraceCheckUtils]: 104: Hoare triple {29789#false} assume !false; {29789#false} is VALID [2022-04-28 12:24:52,604 INFO L290 TraceCheckUtils]: 103: Hoare triple {30103#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29789#false} is VALID [2022-04-28 12:24:52,604 INFO L290 TraceCheckUtils]: 102: Hoare triple {30099#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {30103#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:24:52,605 INFO L272 TraceCheckUtils]: 101: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {30099#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:24:52,605 INFO L290 TraceCheckUtils]: 100: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(#t~post7 < 50);havoc #t~post7; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:24:52,606 INFO L290 TraceCheckUtils]: 99: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:24:52,608 INFO L290 TraceCheckUtils]: 98: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:24:52,608 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #92#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:24:52,608 INFO L290 TraceCheckUtils]: 96: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:52,609 INFO L290 TraceCheckUtils]: 95: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:52,609 INFO L290 TraceCheckUtils]: 94: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:52,609 INFO L272 TraceCheckUtils]: 93: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:52,609 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:24:52,609 INFO L290 TraceCheckUtils]: 91: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:52,609 INFO L290 TraceCheckUtils]: 90: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:52,609 INFO L290 TraceCheckUtils]: 89: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:52,610 INFO L272 TraceCheckUtils]: 88: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:52,610 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {29788#true} {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:24:52,610 INFO L290 TraceCheckUtils]: 86: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:52,610 INFO L290 TraceCheckUtils]: 85: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:52,610 INFO L290 TraceCheckUtils]: 84: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:52,610 INFO L272 TraceCheckUtils]: 83: Hoare triple {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:52,611 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} {29788#true} #86#return; {30041#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:24:52,611 INFO L290 TraceCheckUtils]: 81: Hoare triple {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:24:52,612 INFO L290 TraceCheckUtils]: 80: Hoare triple {30185#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {30034#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:24:52,612 INFO L290 TraceCheckUtils]: 79: Hoare triple {29788#true} ~cond := #in~cond; {30185#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:24:52,612 INFO L272 TraceCheckUtils]: 78: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:52,612 INFO L290 TraceCheckUtils]: 77: Hoare triple {29788#true} assume !!(#t~post7 < 50);havoc #t~post7; {29788#true} is VALID [2022-04-28 12:24:52,612 INFO L290 TraceCheckUtils]: 76: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 12:24:52,612 INFO L290 TraceCheckUtils]: 75: Hoare triple {29788#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {29788#true} is VALID [2022-04-28 12:24:52,612 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {29788#true} {29788#true} #92#return; {29788#true} is VALID [2022-04-28 12:24:52,612 INFO L290 TraceCheckUtils]: 73: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:52,612 INFO L290 TraceCheckUtils]: 72: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:52,612 INFO L290 TraceCheckUtils]: 71: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:52,612 INFO L272 TraceCheckUtils]: 70: Hoare triple {29788#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:52,613 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {29788#true} {29788#true} #90#return; {29788#true} is VALID [2022-04-28 12:24:52,613 INFO L290 TraceCheckUtils]: 68: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:52,613 INFO L290 TraceCheckUtils]: 67: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:52,613 INFO L290 TraceCheckUtils]: 66: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:52,613 INFO L272 TraceCheckUtils]: 65: Hoare triple {29788#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:52,613 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {29788#true} {29788#true} #88#return; {29788#true} is VALID [2022-04-28 12:24:52,613 INFO L290 TraceCheckUtils]: 63: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:52,613 INFO L290 TraceCheckUtils]: 62: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:52,613 INFO L290 TraceCheckUtils]: 61: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:52,613 INFO L272 TraceCheckUtils]: 60: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:52,613 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {29788#true} {29788#true} #86#return; {29788#true} is VALID [2022-04-28 12:24:52,613 INFO L290 TraceCheckUtils]: 58: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:52,613 INFO L290 TraceCheckUtils]: 57: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:52,613 INFO L290 TraceCheckUtils]: 56: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:52,613 INFO L272 TraceCheckUtils]: 55: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:52,614 INFO L290 TraceCheckUtils]: 54: Hoare triple {29788#true} assume !!(#t~post7 < 50);havoc #t~post7; {29788#true} is VALID [2022-04-28 12:24:52,614 INFO L290 TraceCheckUtils]: 53: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 12:24:52,614 INFO L290 TraceCheckUtils]: 52: Hoare triple {29788#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {29788#true} is VALID [2022-04-28 12:24:52,614 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {29788#true} {29788#true} #92#return; {29788#true} is VALID [2022-04-28 12:24:52,614 INFO L290 TraceCheckUtils]: 50: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:52,614 INFO L290 TraceCheckUtils]: 49: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:52,614 INFO L290 TraceCheckUtils]: 48: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:52,614 INFO L272 TraceCheckUtils]: 47: Hoare triple {29788#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:52,614 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {29788#true} {29788#true} #90#return; {29788#true} is VALID [2022-04-28 12:24:52,614 INFO L290 TraceCheckUtils]: 45: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:52,614 INFO L290 TraceCheckUtils]: 44: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:52,614 INFO L290 TraceCheckUtils]: 43: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:52,614 INFO L272 TraceCheckUtils]: 42: Hoare triple {29788#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:52,614 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {29788#true} {29788#true} #88#return; {29788#true} is VALID [2022-04-28 12:24:52,614 INFO L290 TraceCheckUtils]: 40: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:52,615 INFO L290 TraceCheckUtils]: 39: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:52,615 INFO L290 TraceCheckUtils]: 38: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:52,615 INFO L272 TraceCheckUtils]: 37: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:52,615 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {29788#true} {29788#true} #86#return; {29788#true} is VALID [2022-04-28 12:24:52,615 INFO L290 TraceCheckUtils]: 35: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:52,615 INFO L290 TraceCheckUtils]: 34: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:52,615 INFO L290 TraceCheckUtils]: 33: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:52,615 INFO L272 TraceCheckUtils]: 32: Hoare triple {29788#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:52,615 INFO L290 TraceCheckUtils]: 31: Hoare triple {29788#true} assume !!(#t~post7 < 50);havoc #t~post7; {29788#true} is VALID [2022-04-28 12:24:52,615 INFO L290 TraceCheckUtils]: 30: Hoare triple {29788#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29788#true} is VALID [2022-04-28 12:24:52,615 INFO L290 TraceCheckUtils]: 29: Hoare triple {29788#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {29788#true} is VALID [2022-04-28 12:24:52,615 INFO L290 TraceCheckUtils]: 28: Hoare triple {29788#true} assume !!(#t~post6 < 50);havoc #t~post6; {29788#true} is VALID [2022-04-28 12:24:52,615 INFO L290 TraceCheckUtils]: 27: Hoare triple {29788#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29788#true} is VALID [2022-04-28 12:24:52,615 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {29788#true} {29788#true} #84#return; {29788#true} is VALID [2022-04-28 12:24:52,616 INFO L290 TraceCheckUtils]: 25: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:52,616 INFO L290 TraceCheckUtils]: 24: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:52,616 INFO L290 TraceCheckUtils]: 23: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:52,616 INFO L272 TraceCheckUtils]: 22: Hoare triple {29788#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:52,616 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {29788#true} {29788#true} #82#return; {29788#true} is VALID [2022-04-28 12:24:52,616 INFO L290 TraceCheckUtils]: 20: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:52,616 INFO L290 TraceCheckUtils]: 19: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:52,616 INFO L290 TraceCheckUtils]: 18: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:52,616 INFO L272 TraceCheckUtils]: 17: Hoare triple {29788#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:52,616 INFO L290 TraceCheckUtils]: 16: Hoare triple {29788#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {29788#true} is VALID [2022-04-28 12:24:52,616 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29788#true} {29788#true} #80#return; {29788#true} is VALID [2022-04-28 12:24:52,616 INFO L290 TraceCheckUtils]: 14: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:52,616 INFO L290 TraceCheckUtils]: 13: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:52,616 INFO L290 TraceCheckUtils]: 12: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:52,616 INFO L272 TraceCheckUtils]: 11: Hoare triple {29788#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:52,616 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29788#true} {29788#true} #78#return; {29788#true} is VALID [2022-04-28 12:24:52,617 INFO L290 TraceCheckUtils]: 9: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:52,617 INFO L290 TraceCheckUtils]: 8: Hoare triple {29788#true} assume !(0 == ~cond); {29788#true} is VALID [2022-04-28 12:24:52,617 INFO L290 TraceCheckUtils]: 7: Hoare triple {29788#true} ~cond := #in~cond; {29788#true} is VALID [2022-04-28 12:24:52,617 INFO L272 TraceCheckUtils]: 6: Hoare triple {29788#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29788#true} is VALID [2022-04-28 12:24:52,617 INFO L290 TraceCheckUtils]: 5: Hoare triple {29788#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29788#true} is VALID [2022-04-28 12:24:52,617 INFO L272 TraceCheckUtils]: 4: Hoare triple {29788#true} call #t~ret8 := main(); {29788#true} is VALID [2022-04-28 12:24:52,617 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29788#true} {29788#true} #98#return; {29788#true} is VALID [2022-04-28 12:24:52,617 INFO L290 TraceCheckUtils]: 2: Hoare triple {29788#true} assume true; {29788#true} is VALID [2022-04-28 12:24:52,617 INFO L290 TraceCheckUtils]: 1: Hoare triple {29788#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {29788#true} is VALID [2022-04-28 12:24:52,617 INFO L272 TraceCheckUtils]: 0: Hoare triple {29788#true} call ULTIMATE.init(); {29788#true} is VALID [2022-04-28 12:24:52,617 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 64 proven. 10 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 12:24:52,618 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:24:52,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1068235531] [2022-04-28 12:24:52,618 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:24:52,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [871085653] [2022-04-28 12:24:52,618 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [871085653] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:24:52,618 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:24:52,618 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2022-04-28 12:24:52,618 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:24:52,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1086668954] [2022-04-28 12:24:52,618 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1086668954] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:24:52,618 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:24:52,618 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:24:52,618 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1863459738] [2022-04-28 12:24:52,618 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:24:52,619 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 105 [2022-04-28 12:24:52,619 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:24:52,619 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:24:52,664 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:52,664 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:24:52,664 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:52,665 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:24:52,665 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:24:52,665 INFO L87 Difference]: Start difference. First operand 335 states and 439 transitions. Second operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:24:53,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:53,485 INFO L93 Difference]: Finished difference Result 341 states and 444 transitions. [2022-04-28 12:24:53,485 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:24:53,486 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 105 [2022-04-28 12:24:53,486 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:24:53,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:24:53,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 50 transitions. [2022-04-28 12:24:53,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:24:53,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 50 transitions. [2022-04-28 12:24:53,488 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 50 transitions. [2022-04-28 12:24:53,537 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-28 12:24:53,547 INFO L225 Difference]: With dead ends: 341 [2022-04-28 12:24:53,547 INFO L226 Difference]: Without dead ends: 339 [2022-04-28 12:24:53,547 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 211 GetRequests, 200 SyntacticMatches, 3 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:24:53,548 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 14 mSDsluCounter, 106 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:24:53,548 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 140 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:24:53,548 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 339 states. [2022-04-28 12:24:54,398 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 339 to 339. [2022-04-28 12:24:54,398 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:24:54,399 INFO L82 GeneralOperation]: Start isEquivalent. First operand 339 states. Second operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:24:54,399 INFO L74 IsIncluded]: Start isIncluded. First operand 339 states. Second operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:24:54,400 INFO L87 Difference]: Start difference. First operand 339 states. Second operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:24:54,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:54,408 INFO L93 Difference]: Finished difference Result 339 states and 442 transitions. [2022-04-28 12:24:54,408 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 442 transitions. [2022-04-28 12:24:54,409 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:24:54,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:24:54,410 INFO L74 IsIncluded]: Start isIncluded. First operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 339 states. [2022-04-28 12:24:54,410 INFO L87 Difference]: Start difference. First operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 339 states. [2022-04-28 12:24:54,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:54,419 INFO L93 Difference]: Finished difference Result 339 states and 442 transitions. [2022-04-28 12:24:54,419 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 442 transitions. [2022-04-28 12:24:54,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:24:54,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:24:54,420 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:24:54,420 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:24:54,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 339 states, 216 states have (on average 1.2268518518518519) internal successors, (265), 223 states have internal predecessors, (265), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:24:54,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 339 states to 339 states and 442 transitions. [2022-04-28 12:24:54,431 INFO L78 Accepts]: Start accepts. Automaton has 339 states and 442 transitions. Word has length 105 [2022-04-28 12:24:54,432 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:24:54,432 INFO L495 AbstractCegarLoop]: Abstraction has 339 states and 442 transitions. [2022-04-28 12:24:54,432 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-28 12:24:54,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 339 states and 442 transitions. [2022-04-28 12:24:55,137 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 442 edges. 442 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:55,138 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 442 transitions. [2022-04-28 12:24:55,138 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 107 [2022-04-28 12:24:55,138 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:24:55,138 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 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, 1, 1, 1] [2022-04-28 12:24:55,155 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-28 12:24:55,339 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:24:55,339 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:24:55,339 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:24:55,339 INFO L85 PathProgramCache]: Analyzing trace with hash -1026601615, now seen corresponding path program 3 times [2022-04-28 12:24:55,339 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:55,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1608609043] [2022-04-28 12:24:55,340 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:24:55,340 INFO L85 PathProgramCache]: Analyzing trace with hash -1026601615, now seen corresponding path program 4 times [2022-04-28 12:24:55,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:24:55,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2133996652] [2022-04-28 12:24:55,340 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:24:55,340 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:24:55,350 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:24:55,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1131979612] [2022-04-28 12:24:55,350 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:24:55,350 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:24:55,350 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:24:55,351 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:24:55,352 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-28 12:24:55,413 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:24:55,413 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:24:55,414 INFO L263 TraceCheckSpWp]: Trace formula consists of 283 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 12:24:55,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:24:55,435 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:24:55,906 INFO L272 TraceCheckUtils]: 0: Hoare triple {32467#true} call ULTIMATE.init(); {32467#true} is VALID [2022-04-28 12:24:55,906 INFO L290 TraceCheckUtils]: 1: Hoare triple {32467#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,906 INFO L290 TraceCheckUtils]: 2: Hoare triple {32475#(<= ~counter~0 0)} assume true; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,907 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32475#(<= ~counter~0 0)} {32467#true} #98#return; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,907 INFO L272 TraceCheckUtils]: 4: Hoare triple {32475#(<= ~counter~0 0)} call #t~ret8 := main(); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,907 INFO L290 TraceCheckUtils]: 5: Hoare triple {32475#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,908 INFO L272 TraceCheckUtils]: 6: Hoare triple {32475#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,908 INFO L290 TraceCheckUtils]: 7: Hoare triple {32475#(<= ~counter~0 0)} ~cond := #in~cond; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,908 INFO L290 TraceCheckUtils]: 8: Hoare triple {32475#(<= ~counter~0 0)} assume !(0 == ~cond); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,909 INFO L290 TraceCheckUtils]: 9: Hoare triple {32475#(<= ~counter~0 0)} assume true; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,909 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32475#(<= ~counter~0 0)} {32475#(<= ~counter~0 0)} #78#return; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,909 INFO L272 TraceCheckUtils]: 11: Hoare triple {32475#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,910 INFO L290 TraceCheckUtils]: 12: Hoare triple {32475#(<= ~counter~0 0)} ~cond := #in~cond; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,910 INFO L290 TraceCheckUtils]: 13: Hoare triple {32475#(<= ~counter~0 0)} assume !(0 == ~cond); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,910 INFO L290 TraceCheckUtils]: 14: Hoare triple {32475#(<= ~counter~0 0)} assume true; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,911 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32475#(<= ~counter~0 0)} {32475#(<= ~counter~0 0)} #80#return; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,911 INFO L290 TraceCheckUtils]: 16: Hoare triple {32475#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,911 INFO L272 TraceCheckUtils]: 17: Hoare triple {32475#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,912 INFO L290 TraceCheckUtils]: 18: Hoare triple {32475#(<= ~counter~0 0)} ~cond := #in~cond; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,912 INFO L290 TraceCheckUtils]: 19: Hoare triple {32475#(<= ~counter~0 0)} assume !(0 == ~cond); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,912 INFO L290 TraceCheckUtils]: 20: Hoare triple {32475#(<= ~counter~0 0)} assume true; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,913 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {32475#(<= ~counter~0 0)} {32475#(<= ~counter~0 0)} #82#return; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,913 INFO L272 TraceCheckUtils]: 22: Hoare triple {32475#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,913 INFO L290 TraceCheckUtils]: 23: Hoare triple {32475#(<= ~counter~0 0)} ~cond := #in~cond; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,913 INFO L290 TraceCheckUtils]: 24: Hoare triple {32475#(<= ~counter~0 0)} assume !(0 == ~cond); {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,914 INFO L290 TraceCheckUtils]: 25: Hoare triple {32475#(<= ~counter~0 0)} assume true; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,914 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {32475#(<= ~counter~0 0)} {32475#(<= ~counter~0 0)} #84#return; {32475#(<= ~counter~0 0)} is VALID [2022-04-28 12:24:55,915 INFO L290 TraceCheckUtils]: 27: Hoare triple {32475#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32554#(<= ~counter~0 1)} is VALID [2022-04-28 12:24:55,915 INFO L290 TraceCheckUtils]: 28: Hoare triple {32554#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {32554#(<= ~counter~0 1)} is VALID [2022-04-28 12:24:55,916 INFO L290 TraceCheckUtils]: 29: Hoare triple {32554#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {32554#(<= ~counter~0 1)} is VALID [2022-04-28 12:24:55,916 INFO L290 TraceCheckUtils]: 30: Hoare triple {32554#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,917 INFO L290 TraceCheckUtils]: 31: Hoare triple {32564#(<= ~counter~0 2)} assume !!(#t~post7 < 50);havoc #t~post7; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,917 INFO L272 TraceCheckUtils]: 32: Hoare triple {32564#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,917 INFO L290 TraceCheckUtils]: 33: Hoare triple {32564#(<= ~counter~0 2)} ~cond := #in~cond; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,918 INFO L290 TraceCheckUtils]: 34: Hoare triple {32564#(<= ~counter~0 2)} assume !(0 == ~cond); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,918 INFO L290 TraceCheckUtils]: 35: Hoare triple {32564#(<= ~counter~0 2)} assume true; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,918 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {32564#(<= ~counter~0 2)} {32564#(<= ~counter~0 2)} #86#return; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,919 INFO L272 TraceCheckUtils]: 37: Hoare triple {32564#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,919 INFO L290 TraceCheckUtils]: 38: Hoare triple {32564#(<= ~counter~0 2)} ~cond := #in~cond; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,919 INFO L290 TraceCheckUtils]: 39: Hoare triple {32564#(<= ~counter~0 2)} assume !(0 == ~cond); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,920 INFO L290 TraceCheckUtils]: 40: Hoare triple {32564#(<= ~counter~0 2)} assume true; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,920 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {32564#(<= ~counter~0 2)} {32564#(<= ~counter~0 2)} #88#return; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,921 INFO L272 TraceCheckUtils]: 42: Hoare triple {32564#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,921 INFO L290 TraceCheckUtils]: 43: Hoare triple {32564#(<= ~counter~0 2)} ~cond := #in~cond; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,921 INFO L290 TraceCheckUtils]: 44: Hoare triple {32564#(<= ~counter~0 2)} assume !(0 == ~cond); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,922 INFO L290 TraceCheckUtils]: 45: Hoare triple {32564#(<= ~counter~0 2)} assume true; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,922 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {32564#(<= ~counter~0 2)} {32564#(<= ~counter~0 2)} #90#return; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,923 INFO L272 TraceCheckUtils]: 47: Hoare triple {32564#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,924 INFO L290 TraceCheckUtils]: 48: Hoare triple {32564#(<= ~counter~0 2)} ~cond := #in~cond; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,924 INFO L290 TraceCheckUtils]: 49: Hoare triple {32564#(<= ~counter~0 2)} assume !(0 == ~cond); {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,924 INFO L290 TraceCheckUtils]: 50: Hoare triple {32564#(<= ~counter~0 2)} assume true; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,925 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {32564#(<= ~counter~0 2)} {32564#(<= ~counter~0 2)} #92#return; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,925 INFO L290 TraceCheckUtils]: 52: Hoare triple {32564#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {32564#(<= ~counter~0 2)} is VALID [2022-04-28 12:24:55,926 INFO L290 TraceCheckUtils]: 53: Hoare triple {32564#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,926 INFO L290 TraceCheckUtils]: 54: Hoare triple {32634#(<= ~counter~0 3)} assume !!(#t~post7 < 50);havoc #t~post7; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,926 INFO L272 TraceCheckUtils]: 55: Hoare triple {32634#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,927 INFO L290 TraceCheckUtils]: 56: Hoare triple {32634#(<= ~counter~0 3)} ~cond := #in~cond; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,927 INFO L290 TraceCheckUtils]: 57: Hoare triple {32634#(<= ~counter~0 3)} assume !(0 == ~cond); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,927 INFO L290 TraceCheckUtils]: 58: Hoare triple {32634#(<= ~counter~0 3)} assume true; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,928 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {32634#(<= ~counter~0 3)} {32634#(<= ~counter~0 3)} #86#return; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,928 INFO L272 TraceCheckUtils]: 60: Hoare triple {32634#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,929 INFO L290 TraceCheckUtils]: 61: Hoare triple {32634#(<= ~counter~0 3)} ~cond := #in~cond; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,929 INFO L290 TraceCheckUtils]: 62: Hoare triple {32634#(<= ~counter~0 3)} assume !(0 == ~cond); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,929 INFO L290 TraceCheckUtils]: 63: Hoare triple {32634#(<= ~counter~0 3)} assume true; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,930 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {32634#(<= ~counter~0 3)} {32634#(<= ~counter~0 3)} #88#return; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,930 INFO L272 TraceCheckUtils]: 65: Hoare triple {32634#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,930 INFO L290 TraceCheckUtils]: 66: Hoare triple {32634#(<= ~counter~0 3)} ~cond := #in~cond; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,931 INFO L290 TraceCheckUtils]: 67: Hoare triple {32634#(<= ~counter~0 3)} assume !(0 == ~cond); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,931 INFO L290 TraceCheckUtils]: 68: Hoare triple {32634#(<= ~counter~0 3)} assume true; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,931 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {32634#(<= ~counter~0 3)} {32634#(<= ~counter~0 3)} #90#return; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,932 INFO L272 TraceCheckUtils]: 70: Hoare triple {32634#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,932 INFO L290 TraceCheckUtils]: 71: Hoare triple {32634#(<= ~counter~0 3)} ~cond := #in~cond; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,933 INFO L290 TraceCheckUtils]: 72: Hoare triple {32634#(<= ~counter~0 3)} assume !(0 == ~cond); {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,933 INFO L290 TraceCheckUtils]: 73: Hoare triple {32634#(<= ~counter~0 3)} assume true; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,933 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {32634#(<= ~counter~0 3)} {32634#(<= ~counter~0 3)} #92#return; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,934 INFO L290 TraceCheckUtils]: 75: Hoare triple {32634#(<= ~counter~0 3)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {32634#(<= ~counter~0 3)} is VALID [2022-04-28 12:24:55,934 INFO L290 TraceCheckUtils]: 76: Hoare triple {32634#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,935 INFO L290 TraceCheckUtils]: 77: Hoare triple {32704#(<= ~counter~0 4)} assume !!(#t~post7 < 50);havoc #t~post7; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,935 INFO L272 TraceCheckUtils]: 78: Hoare triple {32704#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,935 INFO L290 TraceCheckUtils]: 79: Hoare triple {32704#(<= ~counter~0 4)} ~cond := #in~cond; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,936 INFO L290 TraceCheckUtils]: 80: Hoare triple {32704#(<= ~counter~0 4)} assume !(0 == ~cond); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,936 INFO L290 TraceCheckUtils]: 81: Hoare triple {32704#(<= ~counter~0 4)} assume true; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,936 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {32704#(<= ~counter~0 4)} {32704#(<= ~counter~0 4)} #86#return; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,937 INFO L272 TraceCheckUtils]: 83: Hoare triple {32704#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,937 INFO L290 TraceCheckUtils]: 84: Hoare triple {32704#(<= ~counter~0 4)} ~cond := #in~cond; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,937 INFO L290 TraceCheckUtils]: 85: Hoare triple {32704#(<= ~counter~0 4)} assume !(0 == ~cond); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,938 INFO L290 TraceCheckUtils]: 86: Hoare triple {32704#(<= ~counter~0 4)} assume true; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,938 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {32704#(<= ~counter~0 4)} {32704#(<= ~counter~0 4)} #88#return; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,939 INFO L272 TraceCheckUtils]: 88: Hoare triple {32704#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,939 INFO L290 TraceCheckUtils]: 89: Hoare triple {32704#(<= ~counter~0 4)} ~cond := #in~cond; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,939 INFO L290 TraceCheckUtils]: 90: Hoare triple {32704#(<= ~counter~0 4)} assume !(0 == ~cond); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,939 INFO L290 TraceCheckUtils]: 91: Hoare triple {32704#(<= ~counter~0 4)} assume true; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,940 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {32704#(<= ~counter~0 4)} {32704#(<= ~counter~0 4)} #90#return; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,941 INFO L272 TraceCheckUtils]: 93: Hoare triple {32704#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,941 INFO L290 TraceCheckUtils]: 94: Hoare triple {32704#(<= ~counter~0 4)} ~cond := #in~cond; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,941 INFO L290 TraceCheckUtils]: 95: Hoare triple {32704#(<= ~counter~0 4)} assume !(0 == ~cond); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,941 INFO L290 TraceCheckUtils]: 96: Hoare triple {32704#(<= ~counter~0 4)} assume true; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,942 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {32704#(<= ~counter~0 4)} {32704#(<= ~counter~0 4)} #92#return; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,942 INFO L290 TraceCheckUtils]: 98: Hoare triple {32704#(<= ~counter~0 4)} assume !(~c~0 >= ~b~0); {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,943 INFO L290 TraceCheckUtils]: 99: Hoare triple {32704#(<= ~counter~0 4)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {32704#(<= ~counter~0 4)} is VALID [2022-04-28 12:24:55,943 INFO L290 TraceCheckUtils]: 100: Hoare triple {32704#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32777#(<= |main_#t~post6| 4)} is VALID [2022-04-28 12:24:55,943 INFO L290 TraceCheckUtils]: 101: Hoare triple {32777#(<= |main_#t~post6| 4)} assume !(#t~post6 < 50);havoc #t~post6; {32468#false} is VALID [2022-04-28 12:24:55,943 INFO L272 TraceCheckUtils]: 102: Hoare triple {32468#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {32468#false} is VALID [2022-04-28 12:24:55,943 INFO L290 TraceCheckUtils]: 103: Hoare triple {32468#false} ~cond := #in~cond; {32468#false} is VALID [2022-04-28 12:24:55,943 INFO L290 TraceCheckUtils]: 104: Hoare triple {32468#false} assume 0 == ~cond; {32468#false} is VALID [2022-04-28 12:24:55,943 INFO L290 TraceCheckUtils]: 105: Hoare triple {32468#false} assume !false; {32468#false} is VALID [2022-04-28 12:24:55,944 INFO L134 CoverageAnalysis]: Checked inductivity of 335 backedges. 24 proven. 215 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-28 12:24:55,944 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:24:56,349 INFO L290 TraceCheckUtils]: 105: Hoare triple {32468#false} assume !false; {32468#false} is VALID [2022-04-28 12:24:56,350 INFO L290 TraceCheckUtils]: 104: Hoare triple {32468#false} assume 0 == ~cond; {32468#false} is VALID [2022-04-28 12:24:56,350 INFO L290 TraceCheckUtils]: 103: Hoare triple {32468#false} ~cond := #in~cond; {32468#false} is VALID [2022-04-28 12:24:56,350 INFO L272 TraceCheckUtils]: 102: Hoare triple {32468#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {32468#false} is VALID [2022-04-28 12:24:56,350 INFO L290 TraceCheckUtils]: 101: Hoare triple {32805#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {32468#false} is VALID [2022-04-28 12:24:56,350 INFO L290 TraceCheckUtils]: 100: Hoare triple {32809#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32805#(< |main_#t~post6| 50)} is VALID [2022-04-28 12:24:56,351 INFO L290 TraceCheckUtils]: 99: Hoare triple {32809#(< ~counter~0 50)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {32809#(< ~counter~0 50)} is VALID [2022-04-28 12:24:56,351 INFO L290 TraceCheckUtils]: 98: Hoare triple {32809#(< ~counter~0 50)} assume !(~c~0 >= ~b~0); {32809#(< ~counter~0 50)} is VALID [2022-04-28 12:24:56,352 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {32467#true} {32809#(< ~counter~0 50)} #92#return; {32809#(< ~counter~0 50)} is VALID [2022-04-28 12:24:56,352 INFO L290 TraceCheckUtils]: 96: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:24:56,352 INFO L290 TraceCheckUtils]: 95: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:24:56,352 INFO L290 TraceCheckUtils]: 94: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:24:56,352 INFO L272 TraceCheckUtils]: 93: Hoare triple {32809#(< ~counter~0 50)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:24:56,353 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {32467#true} {32809#(< ~counter~0 50)} #90#return; {32809#(< ~counter~0 50)} is VALID [2022-04-28 12:24:56,353 INFO L290 TraceCheckUtils]: 91: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:24:56,353 INFO L290 TraceCheckUtils]: 90: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:24:56,353 INFO L290 TraceCheckUtils]: 89: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:24:56,353 INFO L272 TraceCheckUtils]: 88: Hoare triple {32809#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:24:56,353 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {32467#true} {32809#(< ~counter~0 50)} #88#return; {32809#(< ~counter~0 50)} is VALID [2022-04-28 12:24:56,353 INFO L290 TraceCheckUtils]: 86: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:24:56,354 INFO L290 TraceCheckUtils]: 85: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:24:56,354 INFO L290 TraceCheckUtils]: 84: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:24:56,354 INFO L272 TraceCheckUtils]: 83: Hoare triple {32809#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:24:56,354 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {32467#true} {32809#(< ~counter~0 50)} #86#return; {32809#(< ~counter~0 50)} is VALID [2022-04-28 12:24:56,354 INFO L290 TraceCheckUtils]: 81: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:24:56,354 INFO L290 TraceCheckUtils]: 80: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:24:56,354 INFO L290 TraceCheckUtils]: 79: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:24:56,354 INFO L272 TraceCheckUtils]: 78: Hoare triple {32809#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:24:56,355 INFO L290 TraceCheckUtils]: 77: Hoare triple {32809#(< ~counter~0 50)} assume !!(#t~post7 < 50);havoc #t~post7; {32809#(< ~counter~0 50)} is VALID [2022-04-28 12:24:56,356 INFO L290 TraceCheckUtils]: 76: Hoare triple {32882#(< ~counter~0 49)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32809#(< ~counter~0 50)} is VALID [2022-04-28 12:24:56,356 INFO L290 TraceCheckUtils]: 75: Hoare triple {32882#(< ~counter~0 49)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {32882#(< ~counter~0 49)} is VALID [2022-04-28 12:24:56,357 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {32467#true} {32882#(< ~counter~0 49)} #92#return; {32882#(< ~counter~0 49)} is VALID [2022-04-28 12:24:56,357 INFO L290 TraceCheckUtils]: 73: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:24:56,357 INFO L290 TraceCheckUtils]: 72: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:24:56,357 INFO L290 TraceCheckUtils]: 71: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:24:56,357 INFO L272 TraceCheckUtils]: 70: Hoare triple {32882#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:24:56,357 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {32467#true} {32882#(< ~counter~0 49)} #90#return; {32882#(< ~counter~0 49)} is VALID [2022-04-28 12:24:56,358 INFO L290 TraceCheckUtils]: 68: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:24:56,358 INFO L290 TraceCheckUtils]: 67: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:24:56,358 INFO L290 TraceCheckUtils]: 66: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:24:56,358 INFO L272 TraceCheckUtils]: 65: Hoare triple {32882#(< ~counter~0 49)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:24:56,358 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {32467#true} {32882#(< ~counter~0 49)} #88#return; {32882#(< ~counter~0 49)} is VALID [2022-04-28 12:24:56,358 INFO L290 TraceCheckUtils]: 63: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:24:56,358 INFO L290 TraceCheckUtils]: 62: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:24:56,358 INFO L290 TraceCheckUtils]: 61: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:24:56,359 INFO L272 TraceCheckUtils]: 60: Hoare triple {32882#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:24:56,359 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {32467#true} {32882#(< ~counter~0 49)} #86#return; {32882#(< ~counter~0 49)} is VALID [2022-04-28 12:24:56,359 INFO L290 TraceCheckUtils]: 58: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:24:56,359 INFO L290 TraceCheckUtils]: 57: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:24:56,359 INFO L290 TraceCheckUtils]: 56: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:24:56,359 INFO L272 TraceCheckUtils]: 55: Hoare triple {32882#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:24:56,360 INFO L290 TraceCheckUtils]: 54: Hoare triple {32882#(< ~counter~0 49)} assume !!(#t~post7 < 50);havoc #t~post7; {32882#(< ~counter~0 49)} is VALID [2022-04-28 12:24:56,360 INFO L290 TraceCheckUtils]: 53: Hoare triple {32952#(< ~counter~0 48)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32882#(< ~counter~0 49)} is VALID [2022-04-28 12:24:56,360 INFO L290 TraceCheckUtils]: 52: Hoare triple {32952#(< ~counter~0 48)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {32952#(< ~counter~0 48)} is VALID [2022-04-28 12:24:56,361 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {32467#true} {32952#(< ~counter~0 48)} #92#return; {32952#(< ~counter~0 48)} is VALID [2022-04-28 12:24:56,361 INFO L290 TraceCheckUtils]: 50: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:24:56,361 INFO L290 TraceCheckUtils]: 49: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:24:56,361 INFO L290 TraceCheckUtils]: 48: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:24:56,361 INFO L272 TraceCheckUtils]: 47: Hoare triple {32952#(< ~counter~0 48)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:24:56,362 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {32467#true} {32952#(< ~counter~0 48)} #90#return; {32952#(< ~counter~0 48)} is VALID [2022-04-28 12:24:56,362 INFO L290 TraceCheckUtils]: 45: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:24:56,362 INFO L290 TraceCheckUtils]: 44: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:24:56,362 INFO L290 TraceCheckUtils]: 43: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:24:56,362 INFO L272 TraceCheckUtils]: 42: Hoare triple {32952#(< ~counter~0 48)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:24:56,363 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {32467#true} {32952#(< ~counter~0 48)} #88#return; {32952#(< ~counter~0 48)} is VALID [2022-04-28 12:24:56,363 INFO L290 TraceCheckUtils]: 40: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:24:56,363 INFO L290 TraceCheckUtils]: 39: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:24:56,363 INFO L290 TraceCheckUtils]: 38: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:24:56,363 INFO L272 TraceCheckUtils]: 37: Hoare triple {32952#(< ~counter~0 48)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:24:56,364 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {32467#true} {32952#(< ~counter~0 48)} #86#return; {32952#(< ~counter~0 48)} is VALID [2022-04-28 12:24:56,364 INFO L290 TraceCheckUtils]: 35: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:24:56,364 INFO L290 TraceCheckUtils]: 34: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:24:56,364 INFO L290 TraceCheckUtils]: 33: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:24:56,364 INFO L272 TraceCheckUtils]: 32: Hoare triple {32952#(< ~counter~0 48)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:24:56,364 INFO L290 TraceCheckUtils]: 31: Hoare triple {32952#(< ~counter~0 48)} assume !!(#t~post7 < 50);havoc #t~post7; {32952#(< ~counter~0 48)} is VALID [2022-04-28 12:24:56,365 INFO L290 TraceCheckUtils]: 30: Hoare triple {33022#(< ~counter~0 47)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32952#(< ~counter~0 48)} is VALID [2022-04-28 12:24:56,365 INFO L290 TraceCheckUtils]: 29: Hoare triple {33022#(< ~counter~0 47)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {33022#(< ~counter~0 47)} is VALID [2022-04-28 12:24:56,365 INFO L290 TraceCheckUtils]: 28: Hoare triple {33022#(< ~counter~0 47)} assume !!(#t~post6 < 50);havoc #t~post6; {33022#(< ~counter~0 47)} is VALID [2022-04-28 12:24:56,366 INFO L290 TraceCheckUtils]: 27: Hoare triple {33032#(< ~counter~0 46)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33022#(< ~counter~0 47)} is VALID [2022-04-28 12:24:56,366 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {32467#true} {33032#(< ~counter~0 46)} #84#return; {33032#(< ~counter~0 46)} is VALID [2022-04-28 12:24:56,366 INFO L290 TraceCheckUtils]: 25: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:24:56,366 INFO L290 TraceCheckUtils]: 24: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:24:56,366 INFO L290 TraceCheckUtils]: 23: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:24:56,366 INFO L272 TraceCheckUtils]: 22: Hoare triple {33032#(< ~counter~0 46)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:24:56,367 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {32467#true} {33032#(< ~counter~0 46)} #82#return; {33032#(< ~counter~0 46)} is VALID [2022-04-28 12:24:56,367 INFO L290 TraceCheckUtils]: 20: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:24:56,367 INFO L290 TraceCheckUtils]: 19: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:24:56,367 INFO L290 TraceCheckUtils]: 18: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:24:56,367 INFO L272 TraceCheckUtils]: 17: Hoare triple {33032#(< ~counter~0 46)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:24:56,367 INFO L290 TraceCheckUtils]: 16: Hoare triple {33032#(< ~counter~0 46)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {33032#(< ~counter~0 46)} is VALID [2022-04-28 12:24:56,368 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32467#true} {33032#(< ~counter~0 46)} #80#return; {33032#(< ~counter~0 46)} is VALID [2022-04-28 12:24:56,368 INFO L290 TraceCheckUtils]: 14: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:24:56,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:24:56,368 INFO L290 TraceCheckUtils]: 12: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:24:56,368 INFO L272 TraceCheckUtils]: 11: Hoare triple {33032#(< ~counter~0 46)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:24:56,368 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32467#true} {33032#(< ~counter~0 46)} #78#return; {33032#(< ~counter~0 46)} is VALID [2022-04-28 12:24:56,369 INFO L290 TraceCheckUtils]: 9: Hoare triple {32467#true} assume true; {32467#true} is VALID [2022-04-28 12:24:56,369 INFO L290 TraceCheckUtils]: 8: Hoare triple {32467#true} assume !(0 == ~cond); {32467#true} is VALID [2022-04-28 12:24:56,369 INFO L290 TraceCheckUtils]: 7: Hoare triple {32467#true} ~cond := #in~cond; {32467#true} is VALID [2022-04-28 12:24:56,369 INFO L272 TraceCheckUtils]: 6: Hoare triple {33032#(< ~counter~0 46)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32467#true} is VALID [2022-04-28 12:24:56,369 INFO L290 TraceCheckUtils]: 5: Hoare triple {33032#(< ~counter~0 46)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {33032#(< ~counter~0 46)} is VALID [2022-04-28 12:24:56,369 INFO L272 TraceCheckUtils]: 4: Hoare triple {33032#(< ~counter~0 46)} call #t~ret8 := main(); {33032#(< ~counter~0 46)} is VALID [2022-04-28 12:24:56,370 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33032#(< ~counter~0 46)} {32467#true} #98#return; {33032#(< ~counter~0 46)} is VALID [2022-04-28 12:24:56,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {33032#(< ~counter~0 46)} assume true; {33032#(< ~counter~0 46)} is VALID [2022-04-28 12:24:56,370 INFO L290 TraceCheckUtils]: 1: Hoare triple {32467#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {33032#(< ~counter~0 46)} is VALID [2022-04-28 12:24:56,370 INFO L272 TraceCheckUtils]: 0: Hoare triple {32467#true} call ULTIMATE.init(); {32467#true} is VALID [2022-04-28 12:24:56,371 INFO L134 CoverageAnalysis]: Checked inductivity of 335 backedges. 24 proven. 23 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 12:24:56,371 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:24:56,371 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2133996652] [2022-04-28 12:24:56,371 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:24:56,371 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1131979612] [2022-04-28 12:24:56,371 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1131979612] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:24:56,371 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:24:56,371 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 12:24:56,371 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:24:56,372 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1608609043] [2022-04-28 12:24:56,372 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1608609043] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:24:56,372 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:24:56,372 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:24:56,372 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [397141688] [2022-04-28 12:24:56,372 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:24:56,372 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 106 [2022-04-28 12:24:56,373 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:24:56,373 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:24:56,439 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:56,440 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:24:56,440 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:56,440 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:24:56,440 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:24:56,440 INFO L87 Difference]: Start difference. First operand 339 states and 442 transitions. Second operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:24:57,315 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:57,315 INFO L93 Difference]: Finished difference Result 349 states and 452 transitions. [2022-04-28 12:24:57,315 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:24:57,316 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 106 [2022-04-28 12:24:57,316 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:24:57,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:24:57,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 112 transitions. [2022-04-28 12:24:57,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:24:57,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 112 transitions. [2022-04-28 12:24:57,326 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 112 transitions. [2022-04-28 12:24:57,420 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:57,429 INFO L225 Difference]: With dead ends: 349 [2022-04-28 12:24:57,429 INFO L226 Difference]: Without dead ends: 342 [2022-04-28 12:24:57,429 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 214 GetRequests, 199 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=108, Invalid=164, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:24:57,429 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 22 mSDsluCounter, 135 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 189 SdHoareTripleChecker+Invalid, 84 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:24:57,430 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 189 Invalid, 84 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:24:57,430 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 342 states. [2022-04-28 12:24:58,053 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 342 to 342. [2022-04-28 12:24:58,053 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:24:58,053 INFO L82 GeneralOperation]: Start isEquivalent. First operand 342 states. Second operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:24:58,054 INFO L74 IsIncluded]: Start isIncluded. First operand 342 states. Second operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:24:58,054 INFO L87 Difference]: Start difference. First operand 342 states. Second operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:24:58,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:58,063 INFO L93 Difference]: Finished difference Result 342 states and 445 transitions. [2022-04-28 12:24:58,063 INFO L276 IsEmpty]: Start isEmpty. Operand 342 states and 445 transitions. [2022-04-28 12:24:58,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:24:58,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:24:58,064 INFO L74 IsIncluded]: Start isIncluded. First operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 342 states. [2022-04-28 12:24:58,065 INFO L87 Difference]: Start difference. First operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) Second operand 342 states. [2022-04-28 12:24:58,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:58,073 INFO L93 Difference]: Finished difference Result 342 states and 445 transitions. [2022-04-28 12:24:58,073 INFO L276 IsEmpty]: Start isEmpty. Operand 342 states and 445 transitions. [2022-04-28 12:24:58,074 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:24:58,074 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:24:58,074 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:24:58,074 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:24:58,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 342 states, 219 states have (on average 1.2237442922374429) internal successors, (268), 226 states have internal predecessors, (268), 90 states have call successors, (90), 33 states have call predecessors, (90), 32 states have return successors, (87), 82 states have call predecessors, (87), 87 states have call successors, (87) [2022-04-28 12:24:58,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 342 states to 342 states and 445 transitions. [2022-04-28 12:24:58,086 INFO L78 Accepts]: Start accepts. Automaton has 342 states and 445 transitions. Word has length 106 [2022-04-28 12:24:58,086 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:24:58,086 INFO L495 AbstractCegarLoop]: Abstraction has 342 states and 445 transitions. [2022-04-28 12:24:58,087 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:24:58,087 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 342 states and 445 transitions. [2022-04-28 12:24:58,828 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 445 edges. 445 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:58,828 INFO L276 IsEmpty]: Start isEmpty. Operand 342 states and 445 transitions. [2022-04-28 12:24:58,829 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-04-28 12:24:58,829 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:24:58,829 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:24:58,855 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Ended with exit code 0 [2022-04-28 12:24:59,043 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable24 [2022-04-28 12:24:59,043 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:24:59,044 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:24:59,044 INFO L85 PathProgramCache]: Analyzing trace with hash -1761848073, now seen corresponding path program 3 times [2022-04-28 12:24:59,044 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:59,044 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2098844837] [2022-04-28 12:24:59,044 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:24:59,044 INFO L85 PathProgramCache]: Analyzing trace with hash -1761848073, now seen corresponding path program 4 times [2022-04-28 12:24:59,044 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:24:59,044 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2107908278] [2022-04-28 12:24:59,044 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:24:59,045 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:24:59,054 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:24:59,054 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [88355153] [2022-04-28 12:24:59,054 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:24:59,054 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:24:59,054 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:24:59,055 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:24:59,056 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-28 12:24:59,108 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:24:59,108 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:24:59,109 INFO L263 TraceCheckSpWp]: Trace formula consists of 239 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-28 12:24:59,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:24:59,132 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:25:01,411 INFO L272 TraceCheckUtils]: 0: Hoare triple {35188#true} call ULTIMATE.init(); {35188#true} is VALID [2022-04-28 12:25:01,411 INFO L290 TraceCheckUtils]: 1: Hoare triple {35188#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {35188#true} is VALID [2022-04-28 12:25:01,412 INFO L290 TraceCheckUtils]: 2: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:25:01,412 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35188#true} {35188#true} #98#return; {35188#true} is VALID [2022-04-28 12:25:01,412 INFO L272 TraceCheckUtils]: 4: Hoare triple {35188#true} call #t~ret8 := main(); {35188#true} is VALID [2022-04-28 12:25:01,412 INFO L290 TraceCheckUtils]: 5: Hoare triple {35188#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35188#true} is VALID [2022-04-28 12:25:01,412 INFO L272 TraceCheckUtils]: 6: Hoare triple {35188#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:25:01,412 INFO L290 TraceCheckUtils]: 7: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:25:01,412 INFO L290 TraceCheckUtils]: 8: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:25:01,412 INFO L290 TraceCheckUtils]: 9: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:25:01,412 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35188#true} {35188#true} #78#return; {35188#true} is VALID [2022-04-28 12:25:01,412 INFO L272 TraceCheckUtils]: 11: Hoare triple {35188#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:25:01,412 INFO L290 TraceCheckUtils]: 12: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:25:01,412 INFO L290 TraceCheckUtils]: 13: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:25:01,412 INFO L290 TraceCheckUtils]: 14: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:25:01,412 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {35188#true} {35188#true} #80#return; {35188#true} is VALID [2022-04-28 12:25:01,419 INFO L290 TraceCheckUtils]: 16: Hoare triple {35188#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,419 INFO L272 TraceCheckUtils]: 17: Hoare triple {35241#(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 assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:25:01,419 INFO L290 TraceCheckUtils]: 18: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:25:01,419 INFO L290 TraceCheckUtils]: 19: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:25:01,419 INFO L290 TraceCheckUtils]: 20: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:25:01,420 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {35188#true} {35241#(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))} #82#return; {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,420 INFO L272 TraceCheckUtils]: 22: Hoare triple {35241#(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 assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:25:01,420 INFO L290 TraceCheckUtils]: 23: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:25:01,421 INFO L290 TraceCheckUtils]: 24: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:25:01,421 INFO L290 TraceCheckUtils]: 25: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:25:01,422 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {35188#true} {35241#(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))} #84#return; {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,422 INFO L290 TraceCheckUtils]: 27: Hoare triple {35241#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,423 INFO L290 TraceCheckUtils]: 28: Hoare triple {35241#(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 !!(#t~post6 < 50);havoc #t~post6; {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,423 INFO L290 TraceCheckUtils]: 29: Hoare triple {35241#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,424 INFO L290 TraceCheckUtils]: 30: Hoare triple {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,424 INFO L290 TraceCheckUtils]: 31: Hoare triple {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,424 INFO L272 TraceCheckUtils]: 32: Hoare triple {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:25:01,425 INFO L290 TraceCheckUtils]: 33: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:25:01,425 INFO L290 TraceCheckUtils]: 34: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:25:01,425 INFO L290 TraceCheckUtils]: 35: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:25:01,426 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35188#true} {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,426 INFO L272 TraceCheckUtils]: 37: Hoare triple {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:25:01,426 INFO L290 TraceCheckUtils]: 38: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:25:01,426 INFO L290 TraceCheckUtils]: 39: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:25:01,426 INFO L290 TraceCheckUtils]: 40: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:25:01,427 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {35188#true} {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,427 INFO L272 TraceCheckUtils]: 42: Hoare triple {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:25:01,427 INFO L290 TraceCheckUtils]: 43: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:25:01,427 INFO L290 TraceCheckUtils]: 44: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:25:01,428 INFO L290 TraceCheckUtils]: 45: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:25:01,429 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {35188#true} {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #90#return; {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,429 INFO L272 TraceCheckUtils]: 47: Hoare triple {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:25:01,429 INFO L290 TraceCheckUtils]: 48: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:25:01,429 INFO L290 TraceCheckUtils]: 49: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:25:01,429 INFO L290 TraceCheckUtils]: 50: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:25:01,430 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {35188#true} {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #92#return; {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,432 INFO L290 TraceCheckUtils]: 52: Hoare triple {35281#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,432 INFO L290 TraceCheckUtils]: 53: Hoare triple {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,433 INFO L290 TraceCheckUtils]: 54: Hoare triple {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,433 INFO L272 TraceCheckUtils]: 55: Hoare triple {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~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 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:25:01,433 INFO L290 TraceCheckUtils]: 56: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:25:01,433 INFO L290 TraceCheckUtils]: 57: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:25:01,433 INFO L290 TraceCheckUtils]: 58: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:25:01,434 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35188#true} {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,434 INFO L272 TraceCheckUtils]: 60: Hoare triple {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~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)); {35188#true} is VALID [2022-04-28 12:25:01,434 INFO L290 TraceCheckUtils]: 61: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:25:01,435 INFO L290 TraceCheckUtils]: 62: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:25:01,435 INFO L290 TraceCheckUtils]: 63: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:25:01,436 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35188#true} {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,436 INFO L272 TraceCheckUtils]: 65: Hoare triple {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~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)); {35188#true} is VALID [2022-04-28 12:25:01,436 INFO L290 TraceCheckUtils]: 66: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:25:01,436 INFO L290 TraceCheckUtils]: 67: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:25:01,436 INFO L290 TraceCheckUtils]: 68: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:25:01,437 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {35188#true} {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #90#return; {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,437 INFO L272 TraceCheckUtils]: 70: Hoare triple {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~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 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:25:01,437 INFO L290 TraceCheckUtils]: 71: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:25:01,437 INFO L290 TraceCheckUtils]: 72: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:25:01,437 INFO L290 TraceCheckUtils]: 73: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:25:01,438 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {35188#true} {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #92#return; {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,439 INFO L290 TraceCheckUtils]: 75: Hoare triple {35351#(and (= main_~r~0 0) (<= 1 main_~k~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,440 INFO L290 TraceCheckUtils]: 76: Hoare triple {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,441 INFO L290 TraceCheckUtils]: 77: Hoare triple {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,441 INFO L272 TraceCheckUtils]: 78: Hoare triple {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:25:01,441 INFO L290 TraceCheckUtils]: 79: Hoare triple {35188#true} ~cond := #in~cond; {35434#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:25:01,441 INFO L290 TraceCheckUtils]: 80: Hoare triple {35434#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:25:01,442 INFO L290 TraceCheckUtils]: 81: Hoare triple {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:25:01,443 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} {35421#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} #86#return; {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,443 INFO L272 TraceCheckUtils]: 83: Hoare triple {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:25:01,444 INFO L290 TraceCheckUtils]: 84: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:25:01,444 INFO L290 TraceCheckUtils]: 85: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:25:01,444 INFO L290 TraceCheckUtils]: 86: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:25:01,445 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {35188#true} {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #88#return; {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,445 INFO L272 TraceCheckUtils]: 88: Hoare triple {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:25:01,445 INFO L290 TraceCheckUtils]: 89: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:25:01,445 INFO L290 TraceCheckUtils]: 90: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:25:01,445 INFO L290 TraceCheckUtils]: 91: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:25:01,446 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {35188#true} {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #90#return; {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,446 INFO L272 TraceCheckUtils]: 93: Hoare triple {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:25:01,446 INFO L290 TraceCheckUtils]: 94: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:25:01,446 INFO L290 TraceCheckUtils]: 95: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:25:01,446 INFO L290 TraceCheckUtils]: 96: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:25:01,447 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {35188#true} {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #92#return; {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,448 INFO L290 TraceCheckUtils]: 98: Hoare triple {35445#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {35494#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (< main_~c~0 main_~b~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:01,450 INFO L290 TraceCheckUtils]: 99: Hoare triple {35494#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)) (= main_~q~0 0) (< main_~c~0 main_~b~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} is VALID [2022-04-28 12:25:01,451 INFO L290 TraceCheckUtils]: 100: Hoare triple {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} is VALID [2022-04-28 12:25:01,451 INFO L290 TraceCheckUtils]: 101: Hoare triple {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} is VALID [2022-04-28 12:25:01,452 INFO L290 TraceCheckUtils]: 102: Hoare triple {35498#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} assume !(0 != ~b~0); {35508#(and (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (= (+ (* main_~y~0 2) (* main_~y~0 main_~s~0)) 0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= main_~q~0 1))} is VALID [2022-04-28 12:25:01,452 INFO L272 TraceCheckUtils]: 103: Hoare triple {35508#(and (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (= (+ (* main_~y~0 2) (* main_~y~0 main_~s~0)) 0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= main_~q~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {35512#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:25:01,453 INFO L290 TraceCheckUtils]: 104: Hoare triple {35512#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35516#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:25:01,453 INFO L290 TraceCheckUtils]: 105: Hoare triple {35516#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35189#false} is VALID [2022-04-28 12:25:01,453 INFO L290 TraceCheckUtils]: 106: Hoare triple {35189#false} assume !false; {35189#false} is VALID [2022-04-28 12:25:01,453 INFO L134 CoverageAnalysis]: Checked inductivity of 336 backedges. 47 proven. 34 refuted. 0 times theorem prover too weak. 255 trivial. 0 not checked. [2022-04-28 12:25:01,454 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:26:20,054 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:26:26,088 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:26:29,039 INFO L290 TraceCheckUtils]: 106: Hoare triple {35189#false} assume !false; {35189#false} is VALID [2022-04-28 12:26:29,039 INFO L290 TraceCheckUtils]: 105: Hoare triple {35516#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35189#false} is VALID [2022-04-28 12:26:29,040 INFO L290 TraceCheckUtils]: 104: Hoare triple {35512#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35516#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:26:29,040 INFO L272 TraceCheckUtils]: 103: Hoare triple {35532#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {35512#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:26:29,040 INFO L290 TraceCheckUtils]: 102: Hoare triple {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {35532#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-28 12:26:29,041 INFO L290 TraceCheckUtils]: 101: Hoare triple {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 12:26:29,041 INFO L290 TraceCheckUtils]: 100: Hoare triple {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 12:26:29,762 INFO L290 TraceCheckUtils]: 99: Hoare triple {35546#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {35536#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 12:26:29,762 INFO L290 TraceCheckUtils]: 98: Hoare triple {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {35546#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:26:29,763 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {35188#true} {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} #92#return; {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:26:29,763 INFO L290 TraceCheckUtils]: 96: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:26:29,763 INFO L290 TraceCheckUtils]: 95: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:26:29,763 INFO L290 TraceCheckUtils]: 94: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:26:29,763 INFO L272 TraceCheckUtils]: 93: Hoare triple {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:26:29,764 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {35188#true} {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} #90#return; {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:26:29,764 INFO L290 TraceCheckUtils]: 91: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:26:29,764 INFO L290 TraceCheckUtils]: 90: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:26:29,764 INFO L290 TraceCheckUtils]: 89: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:26:29,764 INFO L272 TraceCheckUtils]: 88: Hoare triple {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:26:29,765 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {35188#true} {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} #88#return; {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:26:29,765 INFO L290 TraceCheckUtils]: 86: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:26:29,765 INFO L290 TraceCheckUtils]: 85: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:26:29,765 INFO L290 TraceCheckUtils]: 84: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:26:29,765 INFO L272 TraceCheckUtils]: 83: Hoare triple {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:26:29,766 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} #86#return; {35550#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:26:29,766 INFO L290 TraceCheckUtils]: 81: Hoare triple {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:26:29,767 INFO L290 TraceCheckUtils]: 80: Hoare triple {35609#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {35438#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:26:29,767 INFO L290 TraceCheckUtils]: 79: Hoare triple {35188#true} ~cond := #in~cond; {35609#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:26:29,767 INFO L272 TraceCheckUtils]: 78: Hoare triple {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:26:29,768 INFO L290 TraceCheckUtils]: 77: Hoare triple {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} assume !!(#t~post7 < 50);havoc #t~post7; {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-28 12:26:29,768 INFO L290 TraceCheckUtils]: 76: Hoare triple {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-28 12:26:31,771 WARN L290 TraceCheckUtils]: 75: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {35599#(or (not (= main_~c~0 0)) (= (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~c~0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is UNKNOWN [2022-04-28 12:26:31,772 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {35188#true} {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #92#return; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:26:31,772 INFO L290 TraceCheckUtils]: 73: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:26:31,772 INFO L290 TraceCheckUtils]: 72: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:26:31,772 INFO L290 TraceCheckUtils]: 71: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:26:31,772 INFO L272 TraceCheckUtils]: 70: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:26:31,773 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {35188#true} {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #90#return; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:26:31,773 INFO L290 TraceCheckUtils]: 68: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:26:31,773 INFO L290 TraceCheckUtils]: 67: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:26:31,773 INFO L290 TraceCheckUtils]: 66: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:26:31,773 INFO L272 TraceCheckUtils]: 65: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~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)); {35188#true} is VALID [2022-04-28 12:26:31,774 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35188#true} {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #88#return; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:26:31,774 INFO L290 TraceCheckUtils]: 63: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:26:31,774 INFO L290 TraceCheckUtils]: 62: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:26:31,774 INFO L290 TraceCheckUtils]: 61: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:26:31,774 INFO L272 TraceCheckUtils]: 60: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~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)); {35188#true} is VALID [2022-04-28 12:26:31,775 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35188#true} {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #86#return; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:26:31,775 INFO L290 TraceCheckUtils]: 58: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:26:31,775 INFO L290 TraceCheckUtils]: 57: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:26:31,775 INFO L290 TraceCheckUtils]: 56: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:26:31,775 INFO L272 TraceCheckUtils]: 55: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:26:31,776 INFO L290 TraceCheckUtils]: 54: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post7 < 50);havoc #t~post7; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:26:31,777 INFO L290 TraceCheckUtils]: 53: Hoare triple {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:26:31,875 INFO L290 TraceCheckUtils]: 52: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {35622#(or (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~b~0) main_~a~0) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) main_~a~0)) (< (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0) (+ main_~k~0 1)) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~b~0 main_~a~0) main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:26:31,876 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {35188#true} {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} #92#return; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 12:26:31,876 INFO L290 TraceCheckUtils]: 50: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:26:31,876 INFO L290 TraceCheckUtils]: 49: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:26:31,876 INFO L290 TraceCheckUtils]: 48: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:26:31,876 INFO L272 TraceCheckUtils]: 47: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:26:31,877 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {35188#true} {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} #90#return; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 12:26:31,877 INFO L290 TraceCheckUtils]: 45: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:26:31,877 INFO L290 TraceCheckUtils]: 44: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:26:31,877 INFO L290 TraceCheckUtils]: 43: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:26:31,877 INFO L272 TraceCheckUtils]: 42: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:26:31,878 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {35188#true} {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} #88#return; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 12:26:31,878 INFO L290 TraceCheckUtils]: 40: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:26:31,878 INFO L290 TraceCheckUtils]: 39: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:26:31,878 INFO L290 TraceCheckUtils]: 38: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:26:31,878 INFO L272 TraceCheckUtils]: 37: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:26:31,879 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35188#true} {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} #86#return; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 12:26:31,879 INFO L290 TraceCheckUtils]: 35: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:26:31,879 INFO L290 TraceCheckUtils]: 34: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:26:31,879 INFO L290 TraceCheckUtils]: 33: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:26:31,879 INFO L272 TraceCheckUtils]: 32: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:26:31,880 INFO L290 TraceCheckUtils]: 31: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} assume !!(#t~post7 < 50);havoc #t~post7; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 12:26:31,880 INFO L290 TraceCheckUtils]: 30: Hoare triple {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 12:26:31,881 INFO L290 TraceCheckUtils]: 29: Hoare triple {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {35692#(or (not (<= (* main_~b~0 2) main_~c~0)) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~q~0 main_~x~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) (* main_~y~0 main_~s~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)))) (<= (+ (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~b~0) main_~a~0) (< (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0) (+ main_~k~0 2)) (not (= (* main_~b~0 (div (+ (* (- 1) main_~c~0) main_~a~0 (* main_~b~0 2)) main_~b~0)) main_~a~0)))} is VALID [2022-04-28 12:26:31,881 INFO L290 TraceCheckUtils]: 28: Hoare triple {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(#t~post6 < 50);havoc #t~post6; {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:26:31,882 INFO L290 TraceCheckUtils]: 27: Hoare triple {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:26:31,882 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {35188#true} {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #84#return; {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:26:31,883 INFO L290 TraceCheckUtils]: 25: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:26:31,883 INFO L290 TraceCheckUtils]: 24: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:26:31,883 INFO L290 TraceCheckUtils]: 23: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:26:31,883 INFO L272 TraceCheckUtils]: 22: Hoare triple {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:26:31,883 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {35188#true} {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #82#return; {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:26:31,884 INFO L290 TraceCheckUtils]: 20: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:26:31,884 INFO L290 TraceCheckUtils]: 19: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:26:31,884 INFO L290 TraceCheckUtils]: 18: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:26:31,884 INFO L272 TraceCheckUtils]: 17: Hoare triple {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:26:31,884 INFO L290 TraceCheckUtils]: 16: Hoare triple {35188#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {35762#(or (<= (+ (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~b~0) main_~a~0) (not (= (* (div (* main_~b~0 2) main_~b~0) main_~b~0) main_~a~0)) (= (+ (* (div (* main_~b~0 2) main_~b~0) main_~y~0 main_~s~0) (* (div (* main_~b~0 2) main_~b~0) main_~q~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:26:31,884 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {35188#true} {35188#true} #80#return; {35188#true} is VALID [2022-04-28 12:26:31,884 INFO L290 TraceCheckUtils]: 14: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:26:31,884 INFO L290 TraceCheckUtils]: 13: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:26:31,885 INFO L290 TraceCheckUtils]: 12: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:26:31,885 INFO L272 TraceCheckUtils]: 11: Hoare triple {35188#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:26:31,885 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35188#true} {35188#true} #78#return; {35188#true} is VALID [2022-04-28 12:26:31,885 INFO L290 TraceCheckUtils]: 9: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:26:31,885 INFO L290 TraceCheckUtils]: 8: Hoare triple {35188#true} assume !(0 == ~cond); {35188#true} is VALID [2022-04-28 12:26:31,885 INFO L290 TraceCheckUtils]: 7: Hoare triple {35188#true} ~cond := #in~cond; {35188#true} is VALID [2022-04-28 12:26:31,885 INFO L272 TraceCheckUtils]: 6: Hoare triple {35188#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {35188#true} is VALID [2022-04-28 12:26:31,885 INFO L290 TraceCheckUtils]: 5: Hoare triple {35188#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35188#true} is VALID [2022-04-28 12:26:31,885 INFO L272 TraceCheckUtils]: 4: Hoare triple {35188#true} call #t~ret8 := main(); {35188#true} is VALID [2022-04-28 12:26:31,885 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35188#true} {35188#true} #98#return; {35188#true} is VALID [2022-04-28 12:26:31,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {35188#true} assume true; {35188#true} is VALID [2022-04-28 12:26:31,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {35188#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {35188#true} is VALID [2022-04-28 12:26:31,885 INFO L272 TraceCheckUtils]: 0: Hoare triple {35188#true} call ULTIMATE.init(); {35188#true} is VALID [2022-04-28 12:26:31,886 INFO L134 CoverageAnalysis]: Checked inductivity of 336 backedges. 47 proven. 34 refuted. 0 times theorem prover too weak. 255 trivial. 0 not checked. [2022-04-28 12:26:31,886 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:26:31,886 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2107908278] [2022-04-28 12:26:31,886 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:26:31,886 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [88355153] [2022-04-28 12:26:31,886 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [88355153] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:26:31,886 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:26:31,886 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 23 [2022-04-28 12:26:31,887 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:26:31,887 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2098844837] [2022-04-28 12:26:31,887 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2098844837] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:26:31,887 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:26:31,887 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 12:26:31,887 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1645175455] [2022-04-28 12:26:31,887 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:26:31,887 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) Word has length 107 [2022-04-28 12:26:31,888 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:26:31,888 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 12:26:31,964 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:26:31,964 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 12:26:31,964 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:26:31,965 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 12:26:31,965 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=90, Invalid=416, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:26:31,965 INFO L87 Difference]: Start difference. First operand 342 states and 445 transitions. Second operand has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 12:26:38,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:26:38,450 INFO L93 Difference]: Finished difference Result 369 states and 485 transitions. [2022-04-28 12:26:38,450 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 12:26:38,450 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) Word has length 107 [2022-04-28 12:26:38,450 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:26:38,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 12:26:38,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 125 transitions. [2022-04-28 12:26:38,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 12:26:38,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 125 transitions. [2022-04-28 12:26:38,454 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 125 transitions. [2022-04-28 12:26:38,602 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:26:38,612 INFO L225 Difference]: With dead ends: 369 [2022-04-28 12:26:38,612 INFO L226 Difference]: Without dead ends: 366 [2022-04-28 12:26:38,613 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 218 GetRequests, 191 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 155 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=140, Invalid=616, Unknown=0, NotChecked=0, Total=756 [2022-04-28 12:26:38,613 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 37 mSDsluCounter, 282 mSDsCounter, 0 mSdLazyCounter, 615 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 335 SdHoareTripleChecker+Invalid, 654 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 615 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:26:38,615 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 335 Invalid, 654 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 615 Invalid, 0 Unknown, 0 Unchecked, 2.3s Time] [2022-04-28 12:26:38,615 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 366 states. [2022-04-28 12:26:39,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 366 to 364. [2022-04-28 12:26:39,302 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:26:39,303 INFO L82 GeneralOperation]: Start isEquivalent. First operand 366 states. Second operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) [2022-04-28 12:26:39,304 INFO L74 IsIncluded]: Start isIncluded. First operand 366 states. Second operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) [2022-04-28 12:26:39,304 INFO L87 Difference]: Start difference. First operand 366 states. Second operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) [2022-04-28 12:26:39,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:26:39,313 INFO L93 Difference]: Finished difference Result 366 states and 481 transitions. [2022-04-28 12:26:39,313 INFO L276 IsEmpty]: Start isEmpty. Operand 366 states and 481 transitions. [2022-04-28 12:26:39,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:26:39,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:26:39,315 INFO L74 IsIncluded]: Start isIncluded. First operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) Second operand 366 states. [2022-04-28 12:26:39,315 INFO L87 Difference]: Start difference. First operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) Second operand 366 states. [2022-04-28 12:26:39,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:26:39,324 INFO L93 Difference]: Finished difference Result 366 states and 481 transitions. [2022-04-28 12:26:39,324 INFO L276 IsEmpty]: Start isEmpty. Operand 366 states and 481 transitions. [2022-04-28 12:26:39,325 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:26:39,325 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:26:39,325 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:26:39,326 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:26:39,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 364 states, 231 states have (on average 1.2294372294372293) internal successors, (284), 239 states have internal predecessors, (284), 99 states have call successors, (99), 34 states have call predecessors, (99), 33 states have return successors, (96), 90 states have call predecessors, (96), 96 states have call successors, (96) [2022-04-28 12:26:39,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 364 states to 364 states and 479 transitions. [2022-04-28 12:26:39,338 INFO L78 Accepts]: Start accepts. Automaton has 364 states and 479 transitions. Word has length 107 [2022-04-28 12:26:39,338 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:26:39,338 INFO L495 AbstractCegarLoop]: Abstraction has 364 states and 479 transitions. [2022-04-28 12:26:39,338 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 12:26:39,338 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 364 states and 479 transitions. [2022-04-28 12:26:40,186 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 479 edges. 479 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:26:40,187 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 479 transitions. [2022-04-28 12:26:40,187 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-28 12:26:40,187 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:26:40,187 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:26:40,203 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-28 12:26:40,388 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-28 12:26:40,388 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:26:40,388 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:26:40,388 INFO L85 PathProgramCache]: Analyzing trace with hash 1514731471, now seen corresponding path program 5 times [2022-04-28 12:26:40,389 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:26:40,389 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [587456407] [2022-04-28 12:26:40,389 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:26:40,389 INFO L85 PathProgramCache]: Analyzing trace with hash 1514731471, now seen corresponding path program 6 times [2022-04-28 12:26:40,389 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:26:40,389 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1738904746] [2022-04-28 12:26:40,390 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:26:40,390 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:26:40,402 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:26:40,402 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [283912155] [2022-04-28 12:26:40,402 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:26:40,402 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:26:40,402 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:26:40,432 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:26:40,434 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-28 12:26:40,548 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:26:40,548 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:26:40,550 INFO L263 TraceCheckSpWp]: Trace formula consists of 267 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 12:26:40,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:26:40,575 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:26:41,049 INFO L272 TraceCheckUtils]: 0: Hoare triple {38060#true} call ULTIMATE.init(); {38060#true} is VALID [2022-04-28 12:26:41,049 INFO L290 TraceCheckUtils]: 1: Hoare triple {38060#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {38068#(<= ~counter~0 0)} assume true; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38068#(<= ~counter~0 0)} {38060#true} #98#return; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,051 INFO L272 TraceCheckUtils]: 4: Hoare triple {38068#(<= ~counter~0 0)} call #t~ret8 := main(); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,051 INFO L290 TraceCheckUtils]: 5: Hoare triple {38068#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,051 INFO L272 TraceCheckUtils]: 6: Hoare triple {38068#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,052 INFO L290 TraceCheckUtils]: 7: Hoare triple {38068#(<= ~counter~0 0)} ~cond := #in~cond; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,052 INFO L290 TraceCheckUtils]: 8: Hoare triple {38068#(<= ~counter~0 0)} assume !(0 == ~cond); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,052 INFO L290 TraceCheckUtils]: 9: Hoare triple {38068#(<= ~counter~0 0)} assume true; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,053 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38068#(<= ~counter~0 0)} {38068#(<= ~counter~0 0)} #78#return; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,053 INFO L272 TraceCheckUtils]: 11: Hoare triple {38068#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,054 INFO L290 TraceCheckUtils]: 12: Hoare triple {38068#(<= ~counter~0 0)} ~cond := #in~cond; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,054 INFO L290 TraceCheckUtils]: 13: Hoare triple {38068#(<= ~counter~0 0)} assume !(0 == ~cond); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,054 INFO L290 TraceCheckUtils]: 14: Hoare triple {38068#(<= ~counter~0 0)} assume true; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,055 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {38068#(<= ~counter~0 0)} {38068#(<= ~counter~0 0)} #80#return; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,055 INFO L290 TraceCheckUtils]: 16: Hoare triple {38068#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,056 INFO L272 TraceCheckUtils]: 17: Hoare triple {38068#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,056 INFO L290 TraceCheckUtils]: 18: Hoare triple {38068#(<= ~counter~0 0)} ~cond := #in~cond; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,056 INFO L290 TraceCheckUtils]: 19: Hoare triple {38068#(<= ~counter~0 0)} assume !(0 == ~cond); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,057 INFO L290 TraceCheckUtils]: 20: Hoare triple {38068#(<= ~counter~0 0)} assume true; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,057 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38068#(<= ~counter~0 0)} {38068#(<= ~counter~0 0)} #82#return; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,058 INFO L272 TraceCheckUtils]: 22: Hoare triple {38068#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,058 INFO L290 TraceCheckUtils]: 23: Hoare triple {38068#(<= ~counter~0 0)} ~cond := #in~cond; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,058 INFO L290 TraceCheckUtils]: 24: Hoare triple {38068#(<= ~counter~0 0)} assume !(0 == ~cond); {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,059 INFO L290 TraceCheckUtils]: 25: Hoare triple {38068#(<= ~counter~0 0)} assume true; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,059 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {38068#(<= ~counter~0 0)} {38068#(<= ~counter~0 0)} #84#return; {38068#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:41,060 INFO L290 TraceCheckUtils]: 27: Hoare triple {38068#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38147#(<= ~counter~0 1)} is VALID [2022-04-28 12:26:41,061 INFO L290 TraceCheckUtils]: 28: Hoare triple {38147#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {38147#(<= ~counter~0 1)} is VALID [2022-04-28 12:26:41,061 INFO L290 TraceCheckUtils]: 29: Hoare triple {38147#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {38147#(<= ~counter~0 1)} is VALID [2022-04-28 12:26:41,062 INFO L290 TraceCheckUtils]: 30: Hoare triple {38147#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,062 INFO L290 TraceCheckUtils]: 31: Hoare triple {38157#(<= ~counter~0 2)} assume !!(#t~post7 < 50);havoc #t~post7; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,063 INFO L272 TraceCheckUtils]: 32: Hoare triple {38157#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,063 INFO L290 TraceCheckUtils]: 33: Hoare triple {38157#(<= ~counter~0 2)} ~cond := #in~cond; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,063 INFO L290 TraceCheckUtils]: 34: Hoare triple {38157#(<= ~counter~0 2)} assume !(0 == ~cond); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,064 INFO L290 TraceCheckUtils]: 35: Hoare triple {38157#(<= ~counter~0 2)} assume true; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,064 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {38157#(<= ~counter~0 2)} {38157#(<= ~counter~0 2)} #86#return; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,065 INFO L272 TraceCheckUtils]: 37: Hoare triple {38157#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,065 INFO L290 TraceCheckUtils]: 38: Hoare triple {38157#(<= ~counter~0 2)} ~cond := #in~cond; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,066 INFO L290 TraceCheckUtils]: 39: Hoare triple {38157#(<= ~counter~0 2)} assume !(0 == ~cond); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,066 INFO L290 TraceCheckUtils]: 40: Hoare triple {38157#(<= ~counter~0 2)} assume true; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,067 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {38157#(<= ~counter~0 2)} {38157#(<= ~counter~0 2)} #88#return; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,067 INFO L272 TraceCheckUtils]: 42: Hoare triple {38157#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,068 INFO L290 TraceCheckUtils]: 43: Hoare triple {38157#(<= ~counter~0 2)} ~cond := #in~cond; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,068 INFO L290 TraceCheckUtils]: 44: Hoare triple {38157#(<= ~counter~0 2)} assume !(0 == ~cond); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,068 INFO L290 TraceCheckUtils]: 45: Hoare triple {38157#(<= ~counter~0 2)} assume true; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,069 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {38157#(<= ~counter~0 2)} {38157#(<= ~counter~0 2)} #90#return; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,070 INFO L272 TraceCheckUtils]: 47: Hoare triple {38157#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,070 INFO L290 TraceCheckUtils]: 48: Hoare triple {38157#(<= ~counter~0 2)} ~cond := #in~cond; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,070 INFO L290 TraceCheckUtils]: 49: Hoare triple {38157#(<= ~counter~0 2)} assume !(0 == ~cond); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,071 INFO L290 TraceCheckUtils]: 50: Hoare triple {38157#(<= ~counter~0 2)} assume true; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,071 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {38157#(<= ~counter~0 2)} {38157#(<= ~counter~0 2)} #92#return; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,072 INFO L290 TraceCheckUtils]: 52: Hoare triple {38157#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,072 INFO L290 TraceCheckUtils]: 53: Hoare triple {38157#(<= ~counter~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {38157#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:41,073 INFO L290 TraceCheckUtils]: 54: Hoare triple {38157#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38230#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:41,073 INFO L290 TraceCheckUtils]: 55: Hoare triple {38230#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {38230#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:41,074 INFO L290 TraceCheckUtils]: 56: Hoare triple {38230#(<= ~counter~0 3)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {38230#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:41,074 INFO L290 TraceCheckUtils]: 57: Hoare triple {38230#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,075 INFO L290 TraceCheckUtils]: 58: Hoare triple {38240#(<= ~counter~0 4)} assume !!(#t~post7 < 50);havoc #t~post7; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,075 INFO L272 TraceCheckUtils]: 59: Hoare triple {38240#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,076 INFO L290 TraceCheckUtils]: 60: Hoare triple {38240#(<= ~counter~0 4)} ~cond := #in~cond; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,076 INFO L290 TraceCheckUtils]: 61: Hoare triple {38240#(<= ~counter~0 4)} assume !(0 == ~cond); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,076 INFO L290 TraceCheckUtils]: 62: Hoare triple {38240#(<= ~counter~0 4)} assume true; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,077 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {38240#(<= ~counter~0 4)} {38240#(<= ~counter~0 4)} #86#return; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,078 INFO L272 TraceCheckUtils]: 64: Hoare triple {38240#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,078 INFO L290 TraceCheckUtils]: 65: Hoare triple {38240#(<= ~counter~0 4)} ~cond := #in~cond; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,078 INFO L290 TraceCheckUtils]: 66: Hoare triple {38240#(<= ~counter~0 4)} assume !(0 == ~cond); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,079 INFO L290 TraceCheckUtils]: 67: Hoare triple {38240#(<= ~counter~0 4)} assume true; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,079 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {38240#(<= ~counter~0 4)} {38240#(<= ~counter~0 4)} #88#return; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,080 INFO L272 TraceCheckUtils]: 69: Hoare triple {38240#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,080 INFO L290 TraceCheckUtils]: 70: Hoare triple {38240#(<= ~counter~0 4)} ~cond := #in~cond; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,081 INFO L290 TraceCheckUtils]: 71: Hoare triple {38240#(<= ~counter~0 4)} assume !(0 == ~cond); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,081 INFO L290 TraceCheckUtils]: 72: Hoare triple {38240#(<= ~counter~0 4)} assume true; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,082 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {38240#(<= ~counter~0 4)} {38240#(<= ~counter~0 4)} #90#return; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,082 INFO L272 TraceCheckUtils]: 74: Hoare triple {38240#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,083 INFO L290 TraceCheckUtils]: 75: Hoare triple {38240#(<= ~counter~0 4)} ~cond := #in~cond; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,083 INFO L290 TraceCheckUtils]: 76: Hoare triple {38240#(<= ~counter~0 4)} assume !(0 == ~cond); {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,083 INFO L290 TraceCheckUtils]: 77: Hoare triple {38240#(<= ~counter~0 4)} assume true; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,084 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {38240#(<= ~counter~0 4)} {38240#(<= ~counter~0 4)} #92#return; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,084 INFO L290 TraceCheckUtils]: 79: Hoare triple {38240#(<= ~counter~0 4)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {38240#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:41,086 INFO L290 TraceCheckUtils]: 80: Hoare triple {38240#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,086 INFO L290 TraceCheckUtils]: 81: Hoare triple {38310#(<= ~counter~0 5)} assume !!(#t~post7 < 50);havoc #t~post7; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,086 INFO L272 TraceCheckUtils]: 82: Hoare triple {38310#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,087 INFO L290 TraceCheckUtils]: 83: Hoare triple {38310#(<= ~counter~0 5)} ~cond := #in~cond; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,087 INFO L290 TraceCheckUtils]: 84: Hoare triple {38310#(<= ~counter~0 5)} assume !(0 == ~cond); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,087 INFO L290 TraceCheckUtils]: 85: Hoare triple {38310#(<= ~counter~0 5)} assume true; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,088 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {38310#(<= ~counter~0 5)} {38310#(<= ~counter~0 5)} #86#return; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,089 INFO L272 TraceCheckUtils]: 87: Hoare triple {38310#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,089 INFO L290 TraceCheckUtils]: 88: Hoare triple {38310#(<= ~counter~0 5)} ~cond := #in~cond; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,089 INFO L290 TraceCheckUtils]: 89: Hoare triple {38310#(<= ~counter~0 5)} assume !(0 == ~cond); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,090 INFO L290 TraceCheckUtils]: 90: Hoare triple {38310#(<= ~counter~0 5)} assume true; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,090 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {38310#(<= ~counter~0 5)} {38310#(<= ~counter~0 5)} #88#return; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,091 INFO L272 TraceCheckUtils]: 92: Hoare triple {38310#(<= ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,091 INFO L290 TraceCheckUtils]: 93: Hoare triple {38310#(<= ~counter~0 5)} ~cond := #in~cond; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,092 INFO L290 TraceCheckUtils]: 94: Hoare triple {38310#(<= ~counter~0 5)} assume !(0 == ~cond); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,092 INFO L290 TraceCheckUtils]: 95: Hoare triple {38310#(<= ~counter~0 5)} assume true; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,093 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {38310#(<= ~counter~0 5)} {38310#(<= ~counter~0 5)} #90#return; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,093 INFO L272 TraceCheckUtils]: 97: Hoare triple {38310#(<= ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,094 INFO L290 TraceCheckUtils]: 98: Hoare triple {38310#(<= ~counter~0 5)} ~cond := #in~cond; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,094 INFO L290 TraceCheckUtils]: 99: Hoare triple {38310#(<= ~counter~0 5)} assume !(0 == ~cond); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,094 INFO L290 TraceCheckUtils]: 100: Hoare triple {38310#(<= ~counter~0 5)} assume true; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,095 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {38310#(<= ~counter~0 5)} {38310#(<= ~counter~0 5)} #92#return; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,095 INFO L290 TraceCheckUtils]: 102: Hoare triple {38310#(<= ~counter~0 5)} assume !(~c~0 >= ~b~0); {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,096 INFO L290 TraceCheckUtils]: 103: Hoare triple {38310#(<= ~counter~0 5)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {38310#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:41,096 INFO L290 TraceCheckUtils]: 104: Hoare triple {38310#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38383#(<= |main_#t~post6| 5)} is VALID [2022-04-28 12:26:41,097 INFO L290 TraceCheckUtils]: 105: Hoare triple {38383#(<= |main_#t~post6| 5)} assume !(#t~post6 < 50);havoc #t~post6; {38061#false} is VALID [2022-04-28 12:26:41,097 INFO L272 TraceCheckUtils]: 106: Hoare triple {38061#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {38061#false} is VALID [2022-04-28 12:26:41,097 INFO L290 TraceCheckUtils]: 107: Hoare triple {38061#false} ~cond := #in~cond; {38061#false} is VALID [2022-04-28 12:26:41,097 INFO L290 TraceCheckUtils]: 108: Hoare triple {38061#false} assume 0 == ~cond; {38061#false} is VALID [2022-04-28 12:26:41,097 INFO L290 TraceCheckUtils]: 109: Hoare triple {38061#false} assume !false; {38061#false} is VALID [2022-04-28 12:26:41,097 INFO L134 CoverageAnalysis]: Checked inductivity of 341 backedges. 24 proven. 221 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-28 12:26:41,098 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:26:41,546 INFO L290 TraceCheckUtils]: 109: Hoare triple {38061#false} assume !false; {38061#false} is VALID [2022-04-28 12:26:41,546 INFO L290 TraceCheckUtils]: 108: Hoare triple {38061#false} assume 0 == ~cond; {38061#false} is VALID [2022-04-28 12:26:41,546 INFO L290 TraceCheckUtils]: 107: Hoare triple {38061#false} ~cond := #in~cond; {38061#false} is VALID [2022-04-28 12:26:41,546 INFO L272 TraceCheckUtils]: 106: Hoare triple {38061#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {38061#false} is VALID [2022-04-28 12:26:41,547 INFO L290 TraceCheckUtils]: 105: Hoare triple {38411#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {38061#false} is VALID [2022-04-28 12:26:41,547 INFO L290 TraceCheckUtils]: 104: Hoare triple {38415#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38411#(< |main_#t~post6| 50)} is VALID [2022-04-28 12:26:41,547 INFO L290 TraceCheckUtils]: 103: Hoare triple {38415#(< ~counter~0 50)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {38415#(< ~counter~0 50)} is VALID [2022-04-28 12:26:41,547 INFO L290 TraceCheckUtils]: 102: Hoare triple {38415#(< ~counter~0 50)} assume !(~c~0 >= ~b~0); {38415#(< ~counter~0 50)} is VALID [2022-04-28 12:26:41,548 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {38060#true} {38415#(< ~counter~0 50)} #92#return; {38415#(< ~counter~0 50)} is VALID [2022-04-28 12:26:41,548 INFO L290 TraceCheckUtils]: 100: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:26:41,548 INFO L290 TraceCheckUtils]: 99: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:26:41,548 INFO L290 TraceCheckUtils]: 98: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:26:41,548 INFO L272 TraceCheckUtils]: 97: Hoare triple {38415#(< ~counter~0 50)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:26:41,549 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {38060#true} {38415#(< ~counter~0 50)} #90#return; {38415#(< ~counter~0 50)} is VALID [2022-04-28 12:26:41,549 INFO L290 TraceCheckUtils]: 95: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:26:41,549 INFO L290 TraceCheckUtils]: 94: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:26:41,549 INFO L290 TraceCheckUtils]: 93: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:26:41,549 INFO L272 TraceCheckUtils]: 92: Hoare triple {38415#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:26:41,550 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {38060#true} {38415#(< ~counter~0 50)} #88#return; {38415#(< ~counter~0 50)} is VALID [2022-04-28 12:26:41,550 INFO L290 TraceCheckUtils]: 90: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:26:41,550 INFO L290 TraceCheckUtils]: 89: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:26:41,550 INFO L290 TraceCheckUtils]: 88: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:26:41,550 INFO L272 TraceCheckUtils]: 87: Hoare triple {38415#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:26:41,551 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {38060#true} {38415#(< ~counter~0 50)} #86#return; {38415#(< ~counter~0 50)} is VALID [2022-04-28 12:26:41,551 INFO L290 TraceCheckUtils]: 85: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:26:41,551 INFO L290 TraceCheckUtils]: 84: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:26:41,551 INFO L290 TraceCheckUtils]: 83: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:26:41,551 INFO L272 TraceCheckUtils]: 82: Hoare triple {38415#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:26:41,551 INFO L290 TraceCheckUtils]: 81: Hoare triple {38415#(< ~counter~0 50)} assume !!(#t~post7 < 50);havoc #t~post7; {38415#(< ~counter~0 50)} is VALID [2022-04-28 12:26:41,552 INFO L290 TraceCheckUtils]: 80: Hoare triple {38488#(< ~counter~0 49)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38415#(< ~counter~0 50)} is VALID [2022-04-28 12:26:41,552 INFO L290 TraceCheckUtils]: 79: Hoare triple {38488#(< ~counter~0 49)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {38488#(< ~counter~0 49)} is VALID [2022-04-28 12:26:41,553 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {38060#true} {38488#(< ~counter~0 49)} #92#return; {38488#(< ~counter~0 49)} is VALID [2022-04-28 12:26:41,553 INFO L290 TraceCheckUtils]: 77: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:26:41,553 INFO L290 TraceCheckUtils]: 76: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:26:41,553 INFO L290 TraceCheckUtils]: 75: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:26:41,553 INFO L272 TraceCheckUtils]: 74: Hoare triple {38488#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:26:41,554 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {38060#true} {38488#(< ~counter~0 49)} #90#return; {38488#(< ~counter~0 49)} is VALID [2022-04-28 12:26:41,554 INFO L290 TraceCheckUtils]: 72: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:26:41,554 INFO L290 TraceCheckUtils]: 71: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:26:41,554 INFO L290 TraceCheckUtils]: 70: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:26:41,554 INFO L272 TraceCheckUtils]: 69: Hoare triple {38488#(< ~counter~0 49)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:26:41,555 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {38060#true} {38488#(< ~counter~0 49)} #88#return; {38488#(< ~counter~0 49)} is VALID [2022-04-28 12:26:41,555 INFO L290 TraceCheckUtils]: 67: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:26:41,555 INFO L290 TraceCheckUtils]: 66: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:26:41,555 INFO L290 TraceCheckUtils]: 65: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:26:41,555 INFO L272 TraceCheckUtils]: 64: Hoare triple {38488#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:26:41,555 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {38060#true} {38488#(< ~counter~0 49)} #86#return; {38488#(< ~counter~0 49)} is VALID [2022-04-28 12:26:41,556 INFO L290 TraceCheckUtils]: 62: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:26:41,556 INFO L290 TraceCheckUtils]: 61: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:26:41,556 INFO L290 TraceCheckUtils]: 60: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:26:41,556 INFO L272 TraceCheckUtils]: 59: Hoare triple {38488#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:26:41,556 INFO L290 TraceCheckUtils]: 58: Hoare triple {38488#(< ~counter~0 49)} assume !!(#t~post7 < 50);havoc #t~post7; {38488#(< ~counter~0 49)} is VALID [2022-04-28 12:26:41,557 INFO L290 TraceCheckUtils]: 57: Hoare triple {38558#(< ~counter~0 48)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38488#(< ~counter~0 49)} is VALID [2022-04-28 12:26:41,557 INFO L290 TraceCheckUtils]: 56: Hoare triple {38558#(< ~counter~0 48)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {38558#(< ~counter~0 48)} is VALID [2022-04-28 12:26:41,557 INFO L290 TraceCheckUtils]: 55: Hoare triple {38558#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {38558#(< ~counter~0 48)} is VALID [2022-04-28 12:26:41,558 INFO L290 TraceCheckUtils]: 54: Hoare triple {38568#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38558#(< ~counter~0 48)} is VALID [2022-04-28 12:26:41,558 INFO L290 TraceCheckUtils]: 53: Hoare triple {38568#(< ~counter~0 47)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {38568#(< ~counter~0 47)} is VALID [2022-04-28 12:26:41,558 INFO L290 TraceCheckUtils]: 52: Hoare triple {38568#(< ~counter~0 47)} assume !(~c~0 >= ~b~0); {38568#(< ~counter~0 47)} is VALID [2022-04-28 12:26:41,559 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {38060#true} {38568#(< ~counter~0 47)} #92#return; {38568#(< ~counter~0 47)} is VALID [2022-04-28 12:26:41,559 INFO L290 TraceCheckUtils]: 50: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:26:41,559 INFO L290 TraceCheckUtils]: 49: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:26:41,559 INFO L290 TraceCheckUtils]: 48: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:26:41,559 INFO L272 TraceCheckUtils]: 47: Hoare triple {38568#(< ~counter~0 47)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:26:41,560 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {38060#true} {38568#(< ~counter~0 47)} #90#return; {38568#(< ~counter~0 47)} is VALID [2022-04-28 12:26:41,560 INFO L290 TraceCheckUtils]: 45: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:26:41,560 INFO L290 TraceCheckUtils]: 44: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:26:41,560 INFO L290 TraceCheckUtils]: 43: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:26:41,560 INFO L272 TraceCheckUtils]: 42: Hoare triple {38568#(< ~counter~0 47)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:26:41,561 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {38060#true} {38568#(< ~counter~0 47)} #88#return; {38568#(< ~counter~0 47)} is VALID [2022-04-28 12:26:41,561 INFO L290 TraceCheckUtils]: 40: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:26:41,561 INFO L290 TraceCheckUtils]: 39: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:26:41,561 INFO L290 TraceCheckUtils]: 38: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:26:41,561 INFO L272 TraceCheckUtils]: 37: Hoare triple {38568#(< ~counter~0 47)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:26:41,561 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {38060#true} {38568#(< ~counter~0 47)} #86#return; {38568#(< ~counter~0 47)} is VALID [2022-04-28 12:26:41,561 INFO L290 TraceCheckUtils]: 35: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:26:41,561 INFO L290 TraceCheckUtils]: 34: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:26:41,562 INFO L290 TraceCheckUtils]: 33: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:26:41,562 INFO L272 TraceCheckUtils]: 32: Hoare triple {38568#(< ~counter~0 47)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:26:41,562 INFO L290 TraceCheckUtils]: 31: Hoare triple {38568#(< ~counter~0 47)} assume !!(#t~post7 < 50);havoc #t~post7; {38568#(< ~counter~0 47)} is VALID [2022-04-28 12:26:41,562 INFO L290 TraceCheckUtils]: 30: Hoare triple {38641#(< ~counter~0 46)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38568#(< ~counter~0 47)} is VALID [2022-04-28 12:26:41,563 INFO L290 TraceCheckUtils]: 29: Hoare triple {38641#(< ~counter~0 46)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {38641#(< ~counter~0 46)} is VALID [2022-04-28 12:26:41,563 INFO L290 TraceCheckUtils]: 28: Hoare triple {38641#(< ~counter~0 46)} assume !!(#t~post6 < 50);havoc #t~post6; {38641#(< ~counter~0 46)} is VALID [2022-04-28 12:26:41,564 INFO L290 TraceCheckUtils]: 27: Hoare triple {38651#(< ~counter~0 45)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38641#(< ~counter~0 46)} is VALID [2022-04-28 12:26:41,564 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {38060#true} {38651#(< ~counter~0 45)} #84#return; {38651#(< ~counter~0 45)} is VALID [2022-04-28 12:26:41,564 INFO L290 TraceCheckUtils]: 25: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:26:41,564 INFO L290 TraceCheckUtils]: 24: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:26:41,564 INFO L290 TraceCheckUtils]: 23: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:26:41,564 INFO L272 TraceCheckUtils]: 22: Hoare triple {38651#(< ~counter~0 45)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:26:41,565 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38060#true} {38651#(< ~counter~0 45)} #82#return; {38651#(< ~counter~0 45)} is VALID [2022-04-28 12:26:41,565 INFO L290 TraceCheckUtils]: 20: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:26:41,565 INFO L290 TraceCheckUtils]: 19: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:26:41,565 INFO L290 TraceCheckUtils]: 18: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:26:41,565 INFO L272 TraceCheckUtils]: 17: Hoare triple {38651#(< ~counter~0 45)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:26:41,565 INFO L290 TraceCheckUtils]: 16: Hoare triple {38651#(< ~counter~0 45)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {38651#(< ~counter~0 45)} is VALID [2022-04-28 12:26:41,566 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {38060#true} {38651#(< ~counter~0 45)} #80#return; {38651#(< ~counter~0 45)} is VALID [2022-04-28 12:26:41,566 INFO L290 TraceCheckUtils]: 14: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:26:41,566 INFO L290 TraceCheckUtils]: 13: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:26:41,566 INFO L290 TraceCheckUtils]: 12: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:26:41,566 INFO L272 TraceCheckUtils]: 11: Hoare triple {38651#(< ~counter~0 45)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:26:41,566 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38060#true} {38651#(< ~counter~0 45)} #78#return; {38651#(< ~counter~0 45)} is VALID [2022-04-28 12:26:41,566 INFO L290 TraceCheckUtils]: 9: Hoare triple {38060#true} assume true; {38060#true} is VALID [2022-04-28 12:26:41,566 INFO L290 TraceCheckUtils]: 8: Hoare triple {38060#true} assume !(0 == ~cond); {38060#true} is VALID [2022-04-28 12:26:41,566 INFO L290 TraceCheckUtils]: 7: Hoare triple {38060#true} ~cond := #in~cond; {38060#true} is VALID [2022-04-28 12:26:41,567 INFO L272 TraceCheckUtils]: 6: Hoare triple {38651#(< ~counter~0 45)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {38060#true} is VALID [2022-04-28 12:26:41,567 INFO L290 TraceCheckUtils]: 5: Hoare triple {38651#(< ~counter~0 45)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38651#(< ~counter~0 45)} is VALID [2022-04-28 12:26:41,567 INFO L272 TraceCheckUtils]: 4: Hoare triple {38651#(< ~counter~0 45)} call #t~ret8 := main(); {38651#(< ~counter~0 45)} is VALID [2022-04-28 12:26:41,567 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38651#(< ~counter~0 45)} {38060#true} #98#return; {38651#(< ~counter~0 45)} is VALID [2022-04-28 12:26:41,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {38651#(< ~counter~0 45)} assume true; {38651#(< ~counter~0 45)} is VALID [2022-04-28 12:26:41,568 INFO L290 TraceCheckUtils]: 1: Hoare triple {38060#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38651#(< ~counter~0 45)} is VALID [2022-04-28 12:26:41,568 INFO L272 TraceCheckUtils]: 0: Hoare triple {38060#true} call ULTIMATE.init(); {38060#true} is VALID [2022-04-28 12:26:41,568 INFO L134 CoverageAnalysis]: Checked inductivity of 341 backedges. 24 proven. 29 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 12:26:41,569 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:26:41,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1738904746] [2022-04-28 12:26:41,569 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:26:41,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [283912155] [2022-04-28 12:26:41,569 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [283912155] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:26:41,569 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:26:41,569 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 12:26:41,569 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:26:41,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [587456407] [2022-04-28 12:26:41,569 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [587456407] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:26:41,569 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:26:41,570 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:26:41,570 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1046126862] [2022-04-28 12:26:41,570 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:26:41,570 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 110 [2022-04-28 12:26:41,571 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:26:41,571 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:26:41,629 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:26:41,629 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:26:41,629 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:26:41,629 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:26:41,630 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:26:41,630 INFO L87 Difference]: Start difference. First operand 364 states and 479 transitions. Second operand has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:26:42,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:26:42,751 INFO L93 Difference]: Finished difference Result 434 states and 549 transitions. [2022-04-28 12:26:42,751 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:26:42,752 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 110 [2022-04-28 12:26:42,752 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:26:42,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:26:42,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 133 transitions. [2022-04-28 12:26:42,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:26:42,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 133 transitions. [2022-04-28 12:26:42,754 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 133 transitions. [2022-04-28 12:26:42,856 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 133 edges. 133 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:26:42,865 INFO L225 Difference]: With dead ends: 434 [2022-04-28 12:26:42,865 INFO L226 Difference]: Without dead ends: 425 [2022-04-28 12:26:42,865 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 223 GetRequests, 205 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=153, Invalid=227, Unknown=0, NotChecked=0, Total=380 [2022-04-28 12:26:42,866 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 42 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 66 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 66 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:26:42,866 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [42 Valid, 211 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 66 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:26:42,866 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 425 states. [2022-04-28 12:26:43,651 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 425 to 423. [2022-04-28 12:26:43,651 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:26:43,652 INFO L82 GeneralOperation]: Start isEquivalent. First operand 425 states. Second operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-28 12:26:43,652 INFO L74 IsIncluded]: Start isIncluded. First operand 425 states. Second operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-28 12:26:43,653 INFO L87 Difference]: Start difference. First operand 425 states. Second operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-28 12:26:43,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:26:43,664 INFO L93 Difference]: Finished difference Result 425 states and 538 transitions. [2022-04-28 12:26:43,664 INFO L276 IsEmpty]: Start isEmpty. Operand 425 states and 538 transitions. [2022-04-28 12:26:43,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:26:43,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:26:43,665 INFO L74 IsIncluded]: Start isIncluded. First operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) Second operand 425 states. [2022-04-28 12:26:43,666 INFO L87 Difference]: Start difference. First operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) Second operand 425 states. [2022-04-28 12:26:43,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:26:43,677 INFO L93 Difference]: Finished difference Result 425 states and 538 transitions. [2022-04-28 12:26:43,677 INFO L276 IsEmpty]: Start isEmpty. Operand 425 states and 538 transitions. [2022-04-28 12:26:43,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:26:43,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:26:43,678 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:26:43,678 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:26:43,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 423 states, 272 states have (on average 1.2022058823529411) internal successors, (327), 279 states have internal predecessors, (327), 106 states have call successors, (106), 45 states have call predecessors, (106), 44 states have return successors, (103), 98 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-28 12:26:43,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 423 states to 423 states and 536 transitions. [2022-04-28 12:26:43,693 INFO L78 Accepts]: Start accepts. Automaton has 423 states and 536 transitions. Word has length 110 [2022-04-28 12:26:43,693 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:26:43,693 INFO L495 AbstractCegarLoop]: Abstraction has 423 states and 536 transitions. [2022-04-28 12:26:43,694 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 8 states have internal predecessors, (38), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:26:43,694 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 423 states and 536 transitions. [2022-04-28 12:26:44,482 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 536 edges. 536 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:26:44,482 INFO L276 IsEmpty]: Start isEmpty. Operand 423 states and 536 transitions. [2022-04-28 12:26:44,483 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-28 12:26:44,483 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:26:44,483 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:26:44,489 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-28 12:26:44,687 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-28 12:26:44,688 INFO L420 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:26:44,688 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:26:44,688 INFO L85 PathProgramCache]: Analyzing trace with hash -289933735, now seen corresponding path program 5 times [2022-04-28 12:26:44,688 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:26:44,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2115487360] [2022-04-28 12:26:44,688 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:26:44,688 INFO L85 PathProgramCache]: Analyzing trace with hash -289933735, now seen corresponding path program 6 times [2022-04-28 12:26:44,688 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:26:44,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1048793991] [2022-04-28 12:26:44,689 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:26:44,689 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:26:44,698 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:26:44,698 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1353273114] [2022-04-28 12:26:44,698 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:26:44,698 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:26:44,699 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:26:44,699 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:26:44,700 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-28 12:26:44,769 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:26:44,770 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:26:44,771 INFO L263 TraceCheckSpWp]: Trace formula consists of 269 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:26:44,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:26:44,787 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:26:45,069 INFO L272 TraceCheckUtils]: 0: Hoare triple {41307#true} call ULTIMATE.init(); {41307#true} is VALID [2022-04-28 12:26:45,069 INFO L290 TraceCheckUtils]: 1: Hoare triple {41307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {41307#true} is VALID [2022-04-28 12:26:45,069 INFO L290 TraceCheckUtils]: 2: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,070 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41307#true} {41307#true} #98#return; {41307#true} is VALID [2022-04-28 12:26:45,070 INFO L272 TraceCheckUtils]: 4: Hoare triple {41307#true} call #t~ret8 := main(); {41307#true} is VALID [2022-04-28 12:26:45,070 INFO L290 TraceCheckUtils]: 5: Hoare triple {41307#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {41307#true} is VALID [2022-04-28 12:26:45,070 INFO L272 TraceCheckUtils]: 6: Hoare triple {41307#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,070 INFO L290 TraceCheckUtils]: 7: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,070 INFO L290 TraceCheckUtils]: 8: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,070 INFO L290 TraceCheckUtils]: 9: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,070 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41307#true} {41307#true} #78#return; {41307#true} is VALID [2022-04-28 12:26:45,070 INFO L272 TraceCheckUtils]: 11: Hoare triple {41307#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,070 INFO L290 TraceCheckUtils]: 12: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,070 INFO L290 TraceCheckUtils]: 13: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,070 INFO L290 TraceCheckUtils]: 14: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,070 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41307#true} {41307#true} #80#return; {41307#true} is VALID [2022-04-28 12:26:45,070 INFO L290 TraceCheckUtils]: 16: Hoare triple {41307#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {41307#true} is VALID [2022-04-28 12:26:45,070 INFO L272 TraceCheckUtils]: 17: Hoare triple {41307#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,071 INFO L290 TraceCheckUtils]: 18: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,071 INFO L290 TraceCheckUtils]: 19: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,071 INFO L290 TraceCheckUtils]: 20: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,071 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41307#true} {41307#true} #82#return; {41307#true} is VALID [2022-04-28 12:26:45,071 INFO L272 TraceCheckUtils]: 22: Hoare triple {41307#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,071 INFO L290 TraceCheckUtils]: 23: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,071 INFO L290 TraceCheckUtils]: 24: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,071 INFO L290 TraceCheckUtils]: 25: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,071 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41307#true} {41307#true} #84#return; {41307#true} is VALID [2022-04-28 12:26:45,071 INFO L290 TraceCheckUtils]: 27: Hoare triple {41307#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41307#true} is VALID [2022-04-28 12:26:45,071 INFO L290 TraceCheckUtils]: 28: Hoare triple {41307#true} assume !!(#t~post6 < 50);havoc #t~post6; {41307#true} is VALID [2022-04-28 12:26:45,071 INFO L290 TraceCheckUtils]: 29: Hoare triple {41307#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {41307#true} is VALID [2022-04-28 12:26:45,071 INFO L290 TraceCheckUtils]: 30: Hoare triple {41307#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41307#true} is VALID [2022-04-28 12:26:45,071 INFO L290 TraceCheckUtils]: 31: Hoare triple {41307#true} assume !!(#t~post7 < 50);havoc #t~post7; {41307#true} is VALID [2022-04-28 12:26:45,071 INFO L272 TraceCheckUtils]: 32: Hoare triple {41307#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,072 INFO L290 TraceCheckUtils]: 33: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,072 INFO L290 TraceCheckUtils]: 34: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,072 INFO L290 TraceCheckUtils]: 35: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,072 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {41307#true} {41307#true} #86#return; {41307#true} is VALID [2022-04-28 12:26:45,072 INFO L272 TraceCheckUtils]: 37: Hoare triple {41307#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,072 INFO L290 TraceCheckUtils]: 38: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,072 INFO L290 TraceCheckUtils]: 39: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,072 INFO L290 TraceCheckUtils]: 40: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,072 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {41307#true} {41307#true} #88#return; {41307#true} is VALID [2022-04-28 12:26:45,072 INFO L272 TraceCheckUtils]: 42: Hoare triple {41307#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,072 INFO L290 TraceCheckUtils]: 43: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,072 INFO L290 TraceCheckUtils]: 44: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,072 INFO L290 TraceCheckUtils]: 45: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,072 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {41307#true} {41307#true} #90#return; {41307#true} is VALID [2022-04-28 12:26:45,072 INFO L272 TraceCheckUtils]: 47: Hoare triple {41307#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,073 INFO L290 TraceCheckUtils]: 48: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,073 INFO L290 TraceCheckUtils]: 49: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,073 INFO L290 TraceCheckUtils]: 50: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,073 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {41307#true} {41307#true} #92#return; {41307#true} is VALID [2022-04-28 12:26:45,073 INFO L290 TraceCheckUtils]: 52: Hoare triple {41307#true} assume !(~c~0 >= ~b~0); {41468#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:26:45,073 INFO L290 TraceCheckUtils]: 53: Hoare triple {41468#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:26:45,074 INFO L290 TraceCheckUtils]: 54: Hoare triple {41472#(< main_~b~0 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:26:45,074 INFO L290 TraceCheckUtils]: 55: Hoare triple {41472#(< main_~b~0 main_~a~0)} assume !!(#t~post6 < 50);havoc #t~post6; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:26:45,074 INFO L290 TraceCheckUtils]: 56: Hoare triple {41472#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:26:45,075 INFO L290 TraceCheckUtils]: 57: Hoare triple {41482#(< main_~b~0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:26:45,075 INFO L290 TraceCheckUtils]: 58: Hoare triple {41482#(< main_~b~0 main_~c~0)} assume !!(#t~post7 < 50);havoc #t~post7; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:26:45,075 INFO L272 TraceCheckUtils]: 59: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,075 INFO L290 TraceCheckUtils]: 60: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,075 INFO L290 TraceCheckUtils]: 61: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,075 INFO L290 TraceCheckUtils]: 62: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,076 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #86#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:26:45,076 INFO L272 TraceCheckUtils]: 64: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,076 INFO L290 TraceCheckUtils]: 65: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,076 INFO L290 TraceCheckUtils]: 66: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,076 INFO L290 TraceCheckUtils]: 67: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,076 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #88#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:26:45,076 INFO L272 TraceCheckUtils]: 69: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,077 INFO L290 TraceCheckUtils]: 70: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,077 INFO L290 TraceCheckUtils]: 71: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,077 INFO L290 TraceCheckUtils]: 72: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,077 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #90#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:26:45,077 INFO L272 TraceCheckUtils]: 74: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,077 INFO L290 TraceCheckUtils]: 75: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,078 INFO L290 TraceCheckUtils]: 76: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,078 INFO L290 TraceCheckUtils]: 77: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,091 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #92#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:26:45,093 INFO L290 TraceCheckUtils]: 79: Hoare triple {41482#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:26:45,093 INFO L290 TraceCheckUtils]: 80: Hoare triple {41552#(< 0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:26:45,093 INFO L290 TraceCheckUtils]: 81: Hoare triple {41552#(< 0 main_~c~0)} assume !!(#t~post7 < 50);havoc #t~post7; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:26:45,094 INFO L272 TraceCheckUtils]: 82: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,094 INFO L290 TraceCheckUtils]: 83: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,094 INFO L290 TraceCheckUtils]: 84: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,094 INFO L290 TraceCheckUtils]: 85: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,094 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #86#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:26:45,095 INFO L272 TraceCheckUtils]: 87: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,095 INFO L290 TraceCheckUtils]: 88: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,095 INFO L290 TraceCheckUtils]: 89: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,095 INFO L290 TraceCheckUtils]: 90: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,095 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #88#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:26:45,096 INFO L272 TraceCheckUtils]: 92: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,096 INFO L290 TraceCheckUtils]: 93: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,096 INFO L290 TraceCheckUtils]: 94: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,096 INFO L290 TraceCheckUtils]: 95: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,097 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #90#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:26:45,097 INFO L272 TraceCheckUtils]: 97: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,097 INFO L290 TraceCheckUtils]: 98: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,097 INFO L290 TraceCheckUtils]: 99: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,097 INFO L290 TraceCheckUtils]: 100: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,098 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #92#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:26:45,098 INFO L290 TraceCheckUtils]: 102: Hoare triple {41552#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:26:45,098 INFO L290 TraceCheckUtils]: 103: Hoare triple {41552#(< 0 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 12:26:45,099 INFO L290 TraceCheckUtils]: 104: Hoare triple {41625#(< 0 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 12:26:45,099 INFO L290 TraceCheckUtils]: 105: Hoare triple {41625#(< 0 main_~b~0)} assume !!(#t~post6 < 50);havoc #t~post6; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 12:26:45,099 INFO L290 TraceCheckUtils]: 106: Hoare triple {41625#(< 0 main_~b~0)} assume !(0 != ~b~0); {41308#false} is VALID [2022-04-28 12:26:45,100 INFO L272 TraceCheckUtils]: 107: Hoare triple {41308#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {41308#false} is VALID [2022-04-28 12:26:45,100 INFO L290 TraceCheckUtils]: 108: Hoare triple {41308#false} ~cond := #in~cond; {41308#false} is VALID [2022-04-28 12:26:45,100 INFO L290 TraceCheckUtils]: 109: Hoare triple {41308#false} assume 0 == ~cond; {41308#false} is VALID [2022-04-28 12:26:45,100 INFO L290 TraceCheckUtils]: 110: Hoare triple {41308#false} assume !false; {41308#false} is VALID [2022-04-28 12:26:45,100 INFO L134 CoverageAnalysis]: Checked inductivity of 343 backedges. 44 proven. 11 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 12:26:45,100 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:26:45,443 INFO L290 TraceCheckUtils]: 110: Hoare triple {41308#false} assume !false; {41308#false} is VALID [2022-04-28 12:26:45,443 INFO L290 TraceCheckUtils]: 109: Hoare triple {41308#false} assume 0 == ~cond; {41308#false} is VALID [2022-04-28 12:26:45,444 INFO L290 TraceCheckUtils]: 108: Hoare triple {41308#false} ~cond := #in~cond; {41308#false} is VALID [2022-04-28 12:26:45,444 INFO L272 TraceCheckUtils]: 107: Hoare triple {41308#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {41308#false} is VALID [2022-04-28 12:26:45,444 INFO L290 TraceCheckUtils]: 106: Hoare triple {41625#(< 0 main_~b~0)} assume !(0 != ~b~0); {41308#false} is VALID [2022-04-28 12:26:45,444 INFO L290 TraceCheckUtils]: 105: Hoare triple {41625#(< 0 main_~b~0)} assume !!(#t~post6 < 50);havoc #t~post6; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 12:26:45,444 INFO L290 TraceCheckUtils]: 104: Hoare triple {41625#(< 0 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 12:26:45,445 INFO L290 TraceCheckUtils]: 103: Hoare triple {41552#(< 0 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {41625#(< 0 main_~b~0)} is VALID [2022-04-28 12:26:45,445 INFO L290 TraceCheckUtils]: 102: Hoare triple {41552#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:26:45,446 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #92#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:26:45,446 INFO L290 TraceCheckUtils]: 100: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,446 INFO L290 TraceCheckUtils]: 99: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,446 INFO L290 TraceCheckUtils]: 98: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,446 INFO L272 TraceCheckUtils]: 97: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,447 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #90#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:26:45,447 INFO L290 TraceCheckUtils]: 95: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,447 INFO L290 TraceCheckUtils]: 94: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,447 INFO L290 TraceCheckUtils]: 93: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,447 INFO L272 TraceCheckUtils]: 92: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,447 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #88#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:26:45,448 INFO L290 TraceCheckUtils]: 90: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,448 INFO L290 TraceCheckUtils]: 89: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,448 INFO L290 TraceCheckUtils]: 88: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,448 INFO L272 TraceCheckUtils]: 87: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,448 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {41307#true} {41552#(< 0 main_~c~0)} #86#return; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:26:45,448 INFO L290 TraceCheckUtils]: 85: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,448 INFO L290 TraceCheckUtils]: 84: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,448 INFO L290 TraceCheckUtils]: 83: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,448 INFO L272 TraceCheckUtils]: 82: Hoare triple {41552#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,449 INFO L290 TraceCheckUtils]: 81: Hoare triple {41552#(< 0 main_~c~0)} assume !!(#t~post7 < 50);havoc #t~post7; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:26:45,449 INFO L290 TraceCheckUtils]: 80: Hoare triple {41552#(< 0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:26:45,450 INFO L290 TraceCheckUtils]: 79: Hoare triple {41482#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {41552#(< 0 main_~c~0)} is VALID [2022-04-28 12:26:45,451 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #92#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:26:45,451 INFO L290 TraceCheckUtils]: 77: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,451 INFO L290 TraceCheckUtils]: 76: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,451 INFO L290 TraceCheckUtils]: 75: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,451 INFO L272 TraceCheckUtils]: 74: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,452 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #90#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:26:45,452 INFO L290 TraceCheckUtils]: 72: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,452 INFO L290 TraceCheckUtils]: 71: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,452 INFO L290 TraceCheckUtils]: 70: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,452 INFO L272 TraceCheckUtils]: 69: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,453 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #88#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:26:45,453 INFO L290 TraceCheckUtils]: 67: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,453 INFO L290 TraceCheckUtils]: 66: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,453 INFO L290 TraceCheckUtils]: 65: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,453 INFO L272 TraceCheckUtils]: 64: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,453 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {41307#true} {41482#(< main_~b~0 main_~c~0)} #86#return; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:26:45,453 INFO L290 TraceCheckUtils]: 62: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,453 INFO L290 TraceCheckUtils]: 61: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,454 INFO L290 TraceCheckUtils]: 60: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,454 INFO L272 TraceCheckUtils]: 59: Hoare triple {41482#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,454 INFO L290 TraceCheckUtils]: 58: Hoare triple {41482#(< main_~b~0 main_~c~0)} assume !!(#t~post7 < 50);havoc #t~post7; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:26:45,454 INFO L290 TraceCheckUtils]: 57: Hoare triple {41482#(< main_~b~0 main_~c~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:26:45,454 INFO L290 TraceCheckUtils]: 56: Hoare triple {41472#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {41482#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:26:45,455 INFO L290 TraceCheckUtils]: 55: Hoare triple {41472#(< main_~b~0 main_~a~0)} assume !!(#t~post6 < 50);havoc #t~post6; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:26:45,455 INFO L290 TraceCheckUtils]: 54: Hoare triple {41472#(< main_~b~0 main_~a~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:26:45,455 INFO L290 TraceCheckUtils]: 53: Hoare triple {41468#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {41472#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:26:45,456 INFO L290 TraceCheckUtils]: 52: Hoare triple {41307#true} assume !(~c~0 >= ~b~0); {41468#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:26:45,456 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {41307#true} {41307#true} #92#return; {41307#true} is VALID [2022-04-28 12:26:45,456 INFO L290 TraceCheckUtils]: 50: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,456 INFO L290 TraceCheckUtils]: 49: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,456 INFO L290 TraceCheckUtils]: 48: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,456 INFO L272 TraceCheckUtils]: 47: Hoare triple {41307#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,456 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {41307#true} {41307#true} #90#return; {41307#true} is VALID [2022-04-28 12:26:45,456 INFO L290 TraceCheckUtils]: 45: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,456 INFO L290 TraceCheckUtils]: 44: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,456 INFO L290 TraceCheckUtils]: 43: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,456 INFO L272 TraceCheckUtils]: 42: Hoare triple {41307#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,456 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {41307#true} {41307#true} #88#return; {41307#true} is VALID [2022-04-28 12:26:45,456 INFO L290 TraceCheckUtils]: 40: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,457 INFO L290 TraceCheckUtils]: 39: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,457 INFO L290 TraceCheckUtils]: 38: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,457 INFO L272 TraceCheckUtils]: 37: Hoare triple {41307#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,457 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {41307#true} {41307#true} #86#return; {41307#true} is VALID [2022-04-28 12:26:45,457 INFO L290 TraceCheckUtils]: 35: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,457 INFO L290 TraceCheckUtils]: 34: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,457 INFO L290 TraceCheckUtils]: 33: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,457 INFO L272 TraceCheckUtils]: 32: Hoare triple {41307#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,457 INFO L290 TraceCheckUtils]: 31: Hoare triple {41307#true} assume !!(#t~post7 < 50);havoc #t~post7; {41307#true} is VALID [2022-04-28 12:26:45,457 INFO L290 TraceCheckUtils]: 30: Hoare triple {41307#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {41307#true} is VALID [2022-04-28 12:26:45,457 INFO L290 TraceCheckUtils]: 29: Hoare triple {41307#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {41307#true} is VALID [2022-04-28 12:26:45,457 INFO L290 TraceCheckUtils]: 28: Hoare triple {41307#true} assume !!(#t~post6 < 50);havoc #t~post6; {41307#true} is VALID [2022-04-28 12:26:45,457 INFO L290 TraceCheckUtils]: 27: Hoare triple {41307#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {41307#true} is VALID [2022-04-28 12:26:45,457 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41307#true} {41307#true} #84#return; {41307#true} is VALID [2022-04-28 12:26:45,458 INFO L290 TraceCheckUtils]: 25: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,458 INFO L290 TraceCheckUtils]: 24: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,458 INFO L290 TraceCheckUtils]: 23: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,458 INFO L272 TraceCheckUtils]: 22: Hoare triple {41307#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,458 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41307#true} {41307#true} #82#return; {41307#true} is VALID [2022-04-28 12:26:45,458 INFO L290 TraceCheckUtils]: 20: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,458 INFO L290 TraceCheckUtils]: 19: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,458 INFO L272 TraceCheckUtils]: 17: Hoare triple {41307#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,458 INFO L290 TraceCheckUtils]: 16: Hoare triple {41307#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {41307#true} is VALID [2022-04-28 12:26:45,458 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41307#true} {41307#true} #80#return; {41307#true} is VALID [2022-04-28 12:26:45,458 INFO L290 TraceCheckUtils]: 14: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,458 INFO L290 TraceCheckUtils]: 13: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,459 INFO L290 TraceCheckUtils]: 12: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,459 INFO L272 TraceCheckUtils]: 11: Hoare triple {41307#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,459 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41307#true} {41307#true} #78#return; {41307#true} is VALID [2022-04-28 12:26:45,459 INFO L290 TraceCheckUtils]: 9: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,459 INFO L290 TraceCheckUtils]: 8: Hoare triple {41307#true} assume !(0 == ~cond); {41307#true} is VALID [2022-04-28 12:26:45,459 INFO L290 TraceCheckUtils]: 7: Hoare triple {41307#true} ~cond := #in~cond; {41307#true} is VALID [2022-04-28 12:26:45,459 INFO L272 TraceCheckUtils]: 6: Hoare triple {41307#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {41307#true} is VALID [2022-04-28 12:26:45,459 INFO L290 TraceCheckUtils]: 5: Hoare triple {41307#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {41307#true} is VALID [2022-04-28 12:26:45,459 INFO L272 TraceCheckUtils]: 4: Hoare triple {41307#true} call #t~ret8 := main(); {41307#true} is VALID [2022-04-28 12:26:45,459 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41307#true} {41307#true} #98#return; {41307#true} is VALID [2022-04-28 12:26:45,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {41307#true} assume true; {41307#true} is VALID [2022-04-28 12:26:45,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {41307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {41307#true} is VALID [2022-04-28 12:26:45,459 INFO L272 TraceCheckUtils]: 0: Hoare triple {41307#true} call ULTIMATE.init(); {41307#true} is VALID [2022-04-28 12:26:45,460 INFO L134 CoverageAnalysis]: Checked inductivity of 343 backedges. 44 proven. 11 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 12:26:45,460 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:26:45,460 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1048793991] [2022-04-28 12:26:45,460 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:26:45,460 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1353273114] [2022-04-28 12:26:45,460 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1353273114] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:26:45,460 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:26:45,461 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2022-04-28 12:26:45,461 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:26:45,461 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2115487360] [2022-04-28 12:26:45,461 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2115487360] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:26:45,461 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:26:45,461 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:26:45,461 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1846095066] [2022-04-28 12:26:45,461 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:26:45,462 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) Word has length 111 [2022-04-28 12:26:45,462 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:26:45,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-28 12:26:45,521 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:26:45,521 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:26:45,521 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:26:45,521 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:26:45,521 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-04-28 12:26:45,522 INFO L87 Difference]: Start difference. First operand 423 states and 536 transitions. Second operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-28 12:26:47,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:26:47,787 INFO L93 Difference]: Finished difference Result 589 states and 810 transitions. [2022-04-28 12:26:47,787 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 12:26:47,787 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) Word has length 111 [2022-04-28 12:26:47,787 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:26:47,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-28 12:26:47,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 178 transitions. [2022-04-28 12:26:47,790 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-28 12:26:47,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 178 transitions. [2022-04-28 12:26:47,792 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 178 transitions. [2022-04-28 12:26:47,973 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 178 edges. 178 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:26:47,996 INFO L225 Difference]: With dead ends: 589 [2022-04-28 12:26:47,997 INFO L226 Difference]: Without dead ends: 581 [2022-04-28 12:26:47,997 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 237 GetRequests, 220 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 38 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=75, Invalid=197, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:26:47,997 INFO L413 NwaCegarLoop]: 108 mSDtfsCounter, 32 mSDsluCounter, 261 mSDsCounter, 0 mSdLazyCounter, 267 mSolverCounterSat, 45 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 369 SdHoareTripleChecker+Invalid, 312 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 45 IncrementalHoareTripleChecker+Valid, 267 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:26:47,998 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 369 Invalid, 312 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [45 Valid, 267 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:26:47,998 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 581 states. [2022-04-28 12:26:48,967 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 581 to 470. [2022-04-28 12:26:48,967 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:26:48,968 INFO L82 GeneralOperation]: Start isEquivalent. First operand 581 states. Second operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 12:26:48,969 INFO L74 IsIncluded]: Start isIncluded. First operand 581 states. Second operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 12:26:48,969 INFO L87 Difference]: Start difference. First operand 581 states. Second operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 12:26:48,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:26:48,984 INFO L93 Difference]: Finished difference Result 581 states and 798 transitions. [2022-04-28 12:26:48,984 INFO L276 IsEmpty]: Start isEmpty. Operand 581 states and 798 transitions. [2022-04-28 12:26:48,985 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:26:48,985 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:26:48,986 INFO L74 IsIncluded]: Start isIncluded. First operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) Second operand 581 states. [2022-04-28 12:26:48,986 INFO L87 Difference]: Start difference. First operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) Second operand 581 states. [2022-04-28 12:26:49,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:26:49,010 INFO L93 Difference]: Finished difference Result 581 states and 798 transitions. [2022-04-28 12:26:49,010 INFO L276 IsEmpty]: Start isEmpty. Operand 581 states and 798 transitions. [2022-04-28 12:26:49,012 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:26:49,012 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:26:49,012 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:26:49,012 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:26:49,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 470 states, 301 states have (on average 1.2259136212624584) internal successors, (369), 306 states have internal predecessors, (369), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 12:26:49,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 470 states to 470 states and 614 transitions. [2022-04-28 12:26:49,031 INFO L78 Accepts]: Start accepts. Automaton has 470 states and 614 transitions. Word has length 111 [2022-04-28 12:26:49,031 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:26:49,032 INFO L495 AbstractCegarLoop]: Abstraction has 470 states and 614 transitions. [2022-04-28 12:26:49,032 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 7 states have internal predecessors, (33), 4 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 3 states have call predecessors, (17), 3 states have call successors, (17) [2022-04-28 12:26:49,032 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 470 states and 614 transitions. [2022-04-28 12:26:49,999 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 614 edges. 614 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:26:49,999 INFO L276 IsEmpty]: Start isEmpty. Operand 470 states and 614 transitions. [2022-04-28 12:26:50,000 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 113 [2022-04-28 12:26:50,000 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:26:50,000 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:26:50,016 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Forceful destruction successful, exit code 0 [2022-04-28 12:26:50,200 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-28 12:26:50,201 INFO L420 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:26:50,201 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:26:50,201 INFO L85 PathProgramCache]: Analyzing trace with hash -1282766646, now seen corresponding path program 3 times [2022-04-28 12:26:50,201 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:26:50,201 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1382947092] [2022-04-28 12:26:50,201 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:26:50,201 INFO L85 PathProgramCache]: Analyzing trace with hash -1282766646, now seen corresponding path program 4 times [2022-04-28 12:26:50,201 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:26:50,201 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [278261336] [2022-04-28 12:26:50,202 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:26:50,202 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:26:50,211 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:26:50,211 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [885572811] [2022-04-28 12:26:50,212 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:26:50,212 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:26:50,212 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:26:50,213 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:26:50,217 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2022-04-28 12:26:50,286 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:26:50,286 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:26:50,287 INFO L263 TraceCheckSpWp]: Trace formula consists of 312 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 12:26:50,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:26:50,307 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:26:50,709 INFO L272 TraceCheckUtils]: 0: Hoare triple {45285#true} call ULTIMATE.init(); {45285#true} is VALID [2022-04-28 12:26:50,710 INFO L290 TraceCheckUtils]: 1: Hoare triple {45285#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,710 INFO L290 TraceCheckUtils]: 2: Hoare triple {45293#(<= ~counter~0 0)} assume true; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,711 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45293#(<= ~counter~0 0)} {45285#true} #98#return; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,711 INFO L272 TraceCheckUtils]: 4: Hoare triple {45293#(<= ~counter~0 0)} call #t~ret8 := main(); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,711 INFO L290 TraceCheckUtils]: 5: Hoare triple {45293#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,712 INFO L272 TraceCheckUtils]: 6: Hoare triple {45293#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,712 INFO L290 TraceCheckUtils]: 7: Hoare triple {45293#(<= ~counter~0 0)} ~cond := #in~cond; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,712 INFO L290 TraceCheckUtils]: 8: Hoare triple {45293#(<= ~counter~0 0)} assume !(0 == ~cond); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,712 INFO L290 TraceCheckUtils]: 9: Hoare triple {45293#(<= ~counter~0 0)} assume true; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,713 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45293#(<= ~counter~0 0)} {45293#(<= ~counter~0 0)} #78#return; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,713 INFO L272 TraceCheckUtils]: 11: Hoare triple {45293#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,713 INFO L290 TraceCheckUtils]: 12: Hoare triple {45293#(<= ~counter~0 0)} ~cond := #in~cond; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,714 INFO L290 TraceCheckUtils]: 13: Hoare triple {45293#(<= ~counter~0 0)} assume !(0 == ~cond); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,714 INFO L290 TraceCheckUtils]: 14: Hoare triple {45293#(<= ~counter~0 0)} assume true; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,714 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {45293#(<= ~counter~0 0)} {45293#(<= ~counter~0 0)} #80#return; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,715 INFO L290 TraceCheckUtils]: 16: Hoare triple {45293#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,715 INFO L272 TraceCheckUtils]: 17: Hoare triple {45293#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,715 INFO L290 TraceCheckUtils]: 18: Hoare triple {45293#(<= ~counter~0 0)} ~cond := #in~cond; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,716 INFO L290 TraceCheckUtils]: 19: Hoare triple {45293#(<= ~counter~0 0)} assume !(0 == ~cond); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,716 INFO L290 TraceCheckUtils]: 20: Hoare triple {45293#(<= ~counter~0 0)} assume true; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,716 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {45293#(<= ~counter~0 0)} {45293#(<= ~counter~0 0)} #82#return; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,717 INFO L272 TraceCheckUtils]: 22: Hoare triple {45293#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,717 INFO L290 TraceCheckUtils]: 23: Hoare triple {45293#(<= ~counter~0 0)} ~cond := #in~cond; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,717 INFO L290 TraceCheckUtils]: 24: Hoare triple {45293#(<= ~counter~0 0)} assume !(0 == ~cond); {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,717 INFO L290 TraceCheckUtils]: 25: Hoare triple {45293#(<= ~counter~0 0)} assume true; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,718 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {45293#(<= ~counter~0 0)} {45293#(<= ~counter~0 0)} #84#return; {45293#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:50,719 INFO L290 TraceCheckUtils]: 27: Hoare triple {45293#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45372#(<= ~counter~0 1)} is VALID [2022-04-28 12:26:50,719 INFO L290 TraceCheckUtils]: 28: Hoare triple {45372#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {45372#(<= ~counter~0 1)} is VALID [2022-04-28 12:26:50,720 INFO L290 TraceCheckUtils]: 29: Hoare triple {45372#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {45372#(<= ~counter~0 1)} is VALID [2022-04-28 12:26:50,720 INFO L290 TraceCheckUtils]: 30: Hoare triple {45372#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,720 INFO L290 TraceCheckUtils]: 31: Hoare triple {45382#(<= ~counter~0 2)} assume !!(#t~post7 < 50);havoc #t~post7; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,721 INFO L272 TraceCheckUtils]: 32: Hoare triple {45382#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,721 INFO L290 TraceCheckUtils]: 33: Hoare triple {45382#(<= ~counter~0 2)} ~cond := #in~cond; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,722 INFO L290 TraceCheckUtils]: 34: Hoare triple {45382#(<= ~counter~0 2)} assume !(0 == ~cond); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,722 INFO L290 TraceCheckUtils]: 35: Hoare triple {45382#(<= ~counter~0 2)} assume true; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,722 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {45382#(<= ~counter~0 2)} {45382#(<= ~counter~0 2)} #86#return; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,723 INFO L272 TraceCheckUtils]: 37: Hoare triple {45382#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,723 INFO L290 TraceCheckUtils]: 38: Hoare triple {45382#(<= ~counter~0 2)} ~cond := #in~cond; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,723 INFO L290 TraceCheckUtils]: 39: Hoare triple {45382#(<= ~counter~0 2)} assume !(0 == ~cond); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,724 INFO L290 TraceCheckUtils]: 40: Hoare triple {45382#(<= ~counter~0 2)} assume true; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,724 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {45382#(<= ~counter~0 2)} {45382#(<= ~counter~0 2)} #88#return; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,725 INFO L272 TraceCheckUtils]: 42: Hoare triple {45382#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,725 INFO L290 TraceCheckUtils]: 43: Hoare triple {45382#(<= ~counter~0 2)} ~cond := #in~cond; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,725 INFO L290 TraceCheckUtils]: 44: Hoare triple {45382#(<= ~counter~0 2)} assume !(0 == ~cond); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,725 INFO L290 TraceCheckUtils]: 45: Hoare triple {45382#(<= ~counter~0 2)} assume true; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,726 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {45382#(<= ~counter~0 2)} {45382#(<= ~counter~0 2)} #90#return; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,727 INFO L272 TraceCheckUtils]: 47: Hoare triple {45382#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,727 INFO L290 TraceCheckUtils]: 48: Hoare triple {45382#(<= ~counter~0 2)} ~cond := #in~cond; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,727 INFO L290 TraceCheckUtils]: 49: Hoare triple {45382#(<= ~counter~0 2)} assume !(0 == ~cond); {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,727 INFO L290 TraceCheckUtils]: 50: Hoare triple {45382#(<= ~counter~0 2)} assume true; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,728 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {45382#(<= ~counter~0 2)} {45382#(<= ~counter~0 2)} #92#return; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,728 INFO L290 TraceCheckUtils]: 52: Hoare triple {45382#(<= ~counter~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {45382#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:50,729 INFO L290 TraceCheckUtils]: 53: Hoare triple {45382#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,729 INFO L290 TraceCheckUtils]: 54: Hoare triple {45452#(<= ~counter~0 3)} assume !!(#t~post7 < 50);havoc #t~post7; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,730 INFO L272 TraceCheckUtils]: 55: Hoare triple {45452#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,730 INFO L290 TraceCheckUtils]: 56: Hoare triple {45452#(<= ~counter~0 3)} ~cond := #in~cond; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,730 INFO L290 TraceCheckUtils]: 57: Hoare triple {45452#(<= ~counter~0 3)} assume !(0 == ~cond); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,730 INFO L290 TraceCheckUtils]: 58: Hoare triple {45452#(<= ~counter~0 3)} assume true; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,731 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {45452#(<= ~counter~0 3)} {45452#(<= ~counter~0 3)} #86#return; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,731 INFO L272 TraceCheckUtils]: 60: Hoare triple {45452#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,732 INFO L290 TraceCheckUtils]: 61: Hoare triple {45452#(<= ~counter~0 3)} ~cond := #in~cond; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,732 INFO L290 TraceCheckUtils]: 62: Hoare triple {45452#(<= ~counter~0 3)} assume !(0 == ~cond); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,732 INFO L290 TraceCheckUtils]: 63: Hoare triple {45452#(<= ~counter~0 3)} assume true; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,733 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {45452#(<= ~counter~0 3)} {45452#(<= ~counter~0 3)} #88#return; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,733 INFO L272 TraceCheckUtils]: 65: Hoare triple {45452#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,733 INFO L290 TraceCheckUtils]: 66: Hoare triple {45452#(<= ~counter~0 3)} ~cond := #in~cond; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,734 INFO L290 TraceCheckUtils]: 67: Hoare triple {45452#(<= ~counter~0 3)} assume !(0 == ~cond); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,734 INFO L290 TraceCheckUtils]: 68: Hoare triple {45452#(<= ~counter~0 3)} assume true; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,735 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {45452#(<= ~counter~0 3)} {45452#(<= ~counter~0 3)} #90#return; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,735 INFO L272 TraceCheckUtils]: 70: Hoare triple {45452#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,735 INFO L290 TraceCheckUtils]: 71: Hoare triple {45452#(<= ~counter~0 3)} ~cond := #in~cond; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,736 INFO L290 TraceCheckUtils]: 72: Hoare triple {45452#(<= ~counter~0 3)} assume !(0 == ~cond); {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,736 INFO L290 TraceCheckUtils]: 73: Hoare triple {45452#(<= ~counter~0 3)} assume true; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,736 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {45452#(<= ~counter~0 3)} {45452#(<= ~counter~0 3)} #92#return; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,737 INFO L290 TraceCheckUtils]: 75: Hoare triple {45452#(<= ~counter~0 3)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {45452#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:50,737 INFO L290 TraceCheckUtils]: 76: Hoare triple {45452#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,738 INFO L290 TraceCheckUtils]: 77: Hoare triple {45522#(<= ~counter~0 4)} assume !!(#t~post7 < 50);havoc #t~post7; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,738 INFO L272 TraceCheckUtils]: 78: Hoare triple {45522#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,738 INFO L290 TraceCheckUtils]: 79: Hoare triple {45522#(<= ~counter~0 4)} ~cond := #in~cond; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,739 INFO L290 TraceCheckUtils]: 80: Hoare triple {45522#(<= ~counter~0 4)} assume !(0 == ~cond); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,739 INFO L290 TraceCheckUtils]: 81: Hoare triple {45522#(<= ~counter~0 4)} assume true; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,739 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {45522#(<= ~counter~0 4)} {45522#(<= ~counter~0 4)} #86#return; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,740 INFO L272 TraceCheckUtils]: 83: Hoare triple {45522#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,740 INFO L290 TraceCheckUtils]: 84: Hoare triple {45522#(<= ~counter~0 4)} ~cond := #in~cond; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,741 INFO L290 TraceCheckUtils]: 85: Hoare triple {45522#(<= ~counter~0 4)} assume !(0 == ~cond); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,741 INFO L290 TraceCheckUtils]: 86: Hoare triple {45522#(<= ~counter~0 4)} assume true; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,741 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {45522#(<= ~counter~0 4)} {45522#(<= ~counter~0 4)} #88#return; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,742 INFO L272 TraceCheckUtils]: 88: Hoare triple {45522#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,742 INFO L290 TraceCheckUtils]: 89: Hoare triple {45522#(<= ~counter~0 4)} ~cond := #in~cond; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,742 INFO L290 TraceCheckUtils]: 90: Hoare triple {45522#(<= ~counter~0 4)} assume !(0 == ~cond); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,743 INFO L290 TraceCheckUtils]: 91: Hoare triple {45522#(<= ~counter~0 4)} assume true; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,743 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {45522#(<= ~counter~0 4)} {45522#(<= ~counter~0 4)} #90#return; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,744 INFO L272 TraceCheckUtils]: 93: Hoare triple {45522#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,744 INFO L290 TraceCheckUtils]: 94: Hoare triple {45522#(<= ~counter~0 4)} ~cond := #in~cond; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,744 INFO L290 TraceCheckUtils]: 95: Hoare triple {45522#(<= ~counter~0 4)} assume !(0 == ~cond); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,745 INFO L290 TraceCheckUtils]: 96: Hoare triple {45522#(<= ~counter~0 4)} assume true; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,745 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {45522#(<= ~counter~0 4)} {45522#(<= ~counter~0 4)} #92#return; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,745 INFO L290 TraceCheckUtils]: 98: Hoare triple {45522#(<= ~counter~0 4)} assume !(~c~0 >= ~b~0); {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,746 INFO L290 TraceCheckUtils]: 99: Hoare triple {45522#(<= ~counter~0 4)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {45522#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:50,746 INFO L290 TraceCheckUtils]: 100: Hoare triple {45522#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45595#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:50,747 INFO L290 TraceCheckUtils]: 101: Hoare triple {45595#(<= ~counter~0 5)} assume !!(#t~post6 < 50);havoc #t~post6; {45595#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:50,747 INFO L290 TraceCheckUtils]: 102: Hoare triple {45595#(<= ~counter~0 5)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {45595#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:50,747 INFO L290 TraceCheckUtils]: 103: Hoare triple {45595#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45605#(<= |main_#t~post7| 5)} is VALID [2022-04-28 12:26:50,747 INFO L290 TraceCheckUtils]: 104: Hoare triple {45605#(<= |main_#t~post7| 5)} assume !(#t~post7 < 50);havoc #t~post7; {45286#false} is VALID [2022-04-28 12:26:50,748 INFO L290 TraceCheckUtils]: 105: Hoare triple {45286#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {45286#false} is VALID [2022-04-28 12:26:50,748 INFO L290 TraceCheckUtils]: 106: Hoare triple {45286#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45286#false} is VALID [2022-04-28 12:26:50,748 INFO L290 TraceCheckUtils]: 107: Hoare triple {45286#false} assume !(#t~post6 < 50);havoc #t~post6; {45286#false} is VALID [2022-04-28 12:26:50,748 INFO L272 TraceCheckUtils]: 108: Hoare triple {45286#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {45286#false} is VALID [2022-04-28 12:26:50,748 INFO L290 TraceCheckUtils]: 109: Hoare triple {45286#false} ~cond := #in~cond; {45286#false} is VALID [2022-04-28 12:26:50,748 INFO L290 TraceCheckUtils]: 110: Hoare triple {45286#false} assume 0 == ~cond; {45286#false} is VALID [2022-04-28 12:26:50,748 INFO L290 TraceCheckUtils]: 111: Hoare triple {45286#false} assume !false; {45286#false} is VALID [2022-04-28 12:26:50,748 INFO L134 CoverageAnalysis]: Checked inductivity of 347 backedges. 29 proven. 222 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-28 12:26:50,748 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:26:51,161 INFO L290 TraceCheckUtils]: 111: Hoare triple {45286#false} assume !false; {45286#false} is VALID [2022-04-28 12:26:51,161 INFO L290 TraceCheckUtils]: 110: Hoare triple {45286#false} assume 0 == ~cond; {45286#false} is VALID [2022-04-28 12:26:51,161 INFO L290 TraceCheckUtils]: 109: Hoare triple {45286#false} ~cond := #in~cond; {45286#false} is VALID [2022-04-28 12:26:51,161 INFO L272 TraceCheckUtils]: 108: Hoare triple {45286#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {45286#false} is VALID [2022-04-28 12:26:51,161 INFO L290 TraceCheckUtils]: 107: Hoare triple {45286#false} assume !(#t~post6 < 50);havoc #t~post6; {45286#false} is VALID [2022-04-28 12:26:51,161 INFO L290 TraceCheckUtils]: 106: Hoare triple {45286#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45286#false} is VALID [2022-04-28 12:26:51,162 INFO L290 TraceCheckUtils]: 105: Hoare triple {45286#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {45286#false} is VALID [2022-04-28 12:26:51,162 INFO L290 TraceCheckUtils]: 104: Hoare triple {45651#(< |main_#t~post7| 50)} assume !(#t~post7 < 50);havoc #t~post7; {45286#false} is VALID [2022-04-28 12:26:51,163 INFO L290 TraceCheckUtils]: 103: Hoare triple {45655#(< ~counter~0 50)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45651#(< |main_#t~post7| 50)} is VALID [2022-04-28 12:26:51,163 INFO L290 TraceCheckUtils]: 102: Hoare triple {45655#(< ~counter~0 50)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {45655#(< ~counter~0 50)} is VALID [2022-04-28 12:26:51,164 INFO L290 TraceCheckUtils]: 101: Hoare triple {45655#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {45655#(< ~counter~0 50)} is VALID [2022-04-28 12:26:51,165 INFO L290 TraceCheckUtils]: 100: Hoare triple {45665#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45655#(< ~counter~0 50)} is VALID [2022-04-28 12:26:51,165 INFO L290 TraceCheckUtils]: 99: Hoare triple {45665#(< ~counter~0 49)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {45665#(< ~counter~0 49)} is VALID [2022-04-28 12:26:51,165 INFO L290 TraceCheckUtils]: 98: Hoare triple {45665#(< ~counter~0 49)} assume !(~c~0 >= ~b~0); {45665#(< ~counter~0 49)} is VALID [2022-04-28 12:26:51,167 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {45285#true} {45665#(< ~counter~0 49)} #92#return; {45665#(< ~counter~0 49)} is VALID [2022-04-28 12:26:51,167 INFO L290 TraceCheckUtils]: 96: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:26:51,167 INFO L290 TraceCheckUtils]: 95: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:26:51,167 INFO L290 TraceCheckUtils]: 94: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:26:51,167 INFO L272 TraceCheckUtils]: 93: Hoare triple {45665#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:26:51,168 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {45285#true} {45665#(< ~counter~0 49)} #90#return; {45665#(< ~counter~0 49)} is VALID [2022-04-28 12:26:51,168 INFO L290 TraceCheckUtils]: 91: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:26:51,168 INFO L290 TraceCheckUtils]: 90: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:26:51,168 INFO L290 TraceCheckUtils]: 89: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:26:51,168 INFO L272 TraceCheckUtils]: 88: Hoare triple {45665#(< ~counter~0 49)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:26:51,169 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {45285#true} {45665#(< ~counter~0 49)} #88#return; {45665#(< ~counter~0 49)} is VALID [2022-04-28 12:26:51,169 INFO L290 TraceCheckUtils]: 86: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:26:51,169 INFO L290 TraceCheckUtils]: 85: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:26:51,169 INFO L290 TraceCheckUtils]: 84: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:26:51,169 INFO L272 TraceCheckUtils]: 83: Hoare triple {45665#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:26:51,169 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {45285#true} {45665#(< ~counter~0 49)} #86#return; {45665#(< ~counter~0 49)} is VALID [2022-04-28 12:26:51,169 INFO L290 TraceCheckUtils]: 81: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:26:51,169 INFO L290 TraceCheckUtils]: 80: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:26:51,170 INFO L290 TraceCheckUtils]: 79: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:26:51,170 INFO L272 TraceCheckUtils]: 78: Hoare triple {45665#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:26:51,170 INFO L290 TraceCheckUtils]: 77: Hoare triple {45665#(< ~counter~0 49)} assume !!(#t~post7 < 50);havoc #t~post7; {45665#(< ~counter~0 49)} is VALID [2022-04-28 12:26:51,171 INFO L290 TraceCheckUtils]: 76: Hoare triple {45738#(< ~counter~0 48)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45665#(< ~counter~0 49)} is VALID [2022-04-28 12:26:51,171 INFO L290 TraceCheckUtils]: 75: Hoare triple {45738#(< ~counter~0 48)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {45738#(< ~counter~0 48)} is VALID [2022-04-28 12:26:51,171 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {45285#true} {45738#(< ~counter~0 48)} #92#return; {45738#(< ~counter~0 48)} is VALID [2022-04-28 12:26:51,172 INFO L290 TraceCheckUtils]: 73: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:26:51,172 INFO L290 TraceCheckUtils]: 72: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:26:51,172 INFO L290 TraceCheckUtils]: 71: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:26:51,172 INFO L272 TraceCheckUtils]: 70: Hoare triple {45738#(< ~counter~0 48)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:26:51,172 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {45285#true} {45738#(< ~counter~0 48)} #90#return; {45738#(< ~counter~0 48)} is VALID [2022-04-28 12:26:51,172 INFO L290 TraceCheckUtils]: 68: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:26:51,172 INFO L290 TraceCheckUtils]: 67: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:26:51,172 INFO L290 TraceCheckUtils]: 66: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:26:51,173 INFO L272 TraceCheckUtils]: 65: Hoare triple {45738#(< ~counter~0 48)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:26:51,173 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {45285#true} {45738#(< ~counter~0 48)} #88#return; {45738#(< ~counter~0 48)} is VALID [2022-04-28 12:26:51,173 INFO L290 TraceCheckUtils]: 63: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:26:51,173 INFO L290 TraceCheckUtils]: 62: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:26:51,173 INFO L290 TraceCheckUtils]: 61: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:26:51,173 INFO L272 TraceCheckUtils]: 60: Hoare triple {45738#(< ~counter~0 48)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:26:51,174 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {45285#true} {45738#(< ~counter~0 48)} #86#return; {45738#(< ~counter~0 48)} is VALID [2022-04-28 12:26:51,174 INFO L290 TraceCheckUtils]: 58: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:26:51,174 INFO L290 TraceCheckUtils]: 57: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:26:51,174 INFO L290 TraceCheckUtils]: 56: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:26:51,174 INFO L272 TraceCheckUtils]: 55: Hoare triple {45738#(< ~counter~0 48)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:26:51,174 INFO L290 TraceCheckUtils]: 54: Hoare triple {45738#(< ~counter~0 48)} assume !!(#t~post7 < 50);havoc #t~post7; {45738#(< ~counter~0 48)} is VALID [2022-04-28 12:26:51,175 INFO L290 TraceCheckUtils]: 53: Hoare triple {45808#(< ~counter~0 47)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45738#(< ~counter~0 48)} is VALID [2022-04-28 12:26:51,175 INFO L290 TraceCheckUtils]: 52: Hoare triple {45808#(< ~counter~0 47)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {45808#(< ~counter~0 47)} is VALID [2022-04-28 12:26:51,176 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {45285#true} {45808#(< ~counter~0 47)} #92#return; {45808#(< ~counter~0 47)} is VALID [2022-04-28 12:26:51,176 INFO L290 TraceCheckUtils]: 50: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:26:51,176 INFO L290 TraceCheckUtils]: 49: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:26:51,176 INFO L290 TraceCheckUtils]: 48: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:26:51,176 INFO L272 TraceCheckUtils]: 47: Hoare triple {45808#(< ~counter~0 47)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:26:51,177 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {45285#true} {45808#(< ~counter~0 47)} #90#return; {45808#(< ~counter~0 47)} is VALID [2022-04-28 12:26:51,177 INFO L290 TraceCheckUtils]: 45: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:26:51,177 INFO L290 TraceCheckUtils]: 44: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:26:51,177 INFO L290 TraceCheckUtils]: 43: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:26:51,177 INFO L272 TraceCheckUtils]: 42: Hoare triple {45808#(< ~counter~0 47)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:26:51,177 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {45285#true} {45808#(< ~counter~0 47)} #88#return; {45808#(< ~counter~0 47)} is VALID [2022-04-28 12:26:51,177 INFO L290 TraceCheckUtils]: 40: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:26:51,178 INFO L290 TraceCheckUtils]: 39: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:26:51,178 INFO L290 TraceCheckUtils]: 38: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:26:51,178 INFO L272 TraceCheckUtils]: 37: Hoare triple {45808#(< ~counter~0 47)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:26:51,178 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {45285#true} {45808#(< ~counter~0 47)} #86#return; {45808#(< ~counter~0 47)} is VALID [2022-04-28 12:26:51,178 INFO L290 TraceCheckUtils]: 35: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:26:51,178 INFO L290 TraceCheckUtils]: 34: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:26:51,178 INFO L290 TraceCheckUtils]: 33: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:26:51,178 INFO L272 TraceCheckUtils]: 32: Hoare triple {45808#(< ~counter~0 47)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:26:51,179 INFO L290 TraceCheckUtils]: 31: Hoare triple {45808#(< ~counter~0 47)} assume !!(#t~post7 < 50);havoc #t~post7; {45808#(< ~counter~0 47)} is VALID [2022-04-28 12:26:51,179 INFO L290 TraceCheckUtils]: 30: Hoare triple {45878#(< ~counter~0 46)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {45808#(< ~counter~0 47)} is VALID [2022-04-28 12:26:51,180 INFO L290 TraceCheckUtils]: 29: Hoare triple {45878#(< ~counter~0 46)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {45878#(< ~counter~0 46)} is VALID [2022-04-28 12:26:51,180 INFO L290 TraceCheckUtils]: 28: Hoare triple {45878#(< ~counter~0 46)} assume !!(#t~post6 < 50);havoc #t~post6; {45878#(< ~counter~0 46)} is VALID [2022-04-28 12:26:51,181 INFO L290 TraceCheckUtils]: 27: Hoare triple {45888#(< ~counter~0 45)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {45878#(< ~counter~0 46)} is VALID [2022-04-28 12:26:51,181 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {45285#true} {45888#(< ~counter~0 45)} #84#return; {45888#(< ~counter~0 45)} is VALID [2022-04-28 12:26:51,181 INFO L290 TraceCheckUtils]: 25: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:26:51,181 INFO L290 TraceCheckUtils]: 24: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:26:51,181 INFO L290 TraceCheckUtils]: 23: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:26:51,181 INFO L272 TraceCheckUtils]: 22: Hoare triple {45888#(< ~counter~0 45)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:26:51,182 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {45285#true} {45888#(< ~counter~0 45)} #82#return; {45888#(< ~counter~0 45)} is VALID [2022-04-28 12:26:51,182 INFO L290 TraceCheckUtils]: 20: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:26:51,182 INFO L290 TraceCheckUtils]: 19: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:26:51,182 INFO L290 TraceCheckUtils]: 18: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:26:51,182 INFO L272 TraceCheckUtils]: 17: Hoare triple {45888#(< ~counter~0 45)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:26:51,182 INFO L290 TraceCheckUtils]: 16: Hoare triple {45888#(< ~counter~0 45)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {45888#(< ~counter~0 45)} is VALID [2022-04-28 12:26:51,182 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {45285#true} {45888#(< ~counter~0 45)} #80#return; {45888#(< ~counter~0 45)} is VALID [2022-04-28 12:26:51,183 INFO L290 TraceCheckUtils]: 14: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:26:51,183 INFO L290 TraceCheckUtils]: 13: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:26:51,183 INFO L290 TraceCheckUtils]: 12: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:26:51,183 INFO L272 TraceCheckUtils]: 11: Hoare triple {45888#(< ~counter~0 45)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:26:51,183 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45285#true} {45888#(< ~counter~0 45)} #78#return; {45888#(< ~counter~0 45)} is VALID [2022-04-28 12:26:51,183 INFO L290 TraceCheckUtils]: 9: Hoare triple {45285#true} assume true; {45285#true} is VALID [2022-04-28 12:26:51,183 INFO L290 TraceCheckUtils]: 8: Hoare triple {45285#true} assume !(0 == ~cond); {45285#true} is VALID [2022-04-28 12:26:51,183 INFO L290 TraceCheckUtils]: 7: Hoare triple {45285#true} ~cond := #in~cond; {45285#true} is VALID [2022-04-28 12:26:51,183 INFO L272 TraceCheckUtils]: 6: Hoare triple {45888#(< ~counter~0 45)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {45285#true} is VALID [2022-04-28 12:26:51,184 INFO L290 TraceCheckUtils]: 5: Hoare triple {45888#(< ~counter~0 45)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {45888#(< ~counter~0 45)} is VALID [2022-04-28 12:26:51,184 INFO L272 TraceCheckUtils]: 4: Hoare triple {45888#(< ~counter~0 45)} call #t~ret8 := main(); {45888#(< ~counter~0 45)} is VALID [2022-04-28 12:26:51,184 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45888#(< ~counter~0 45)} {45285#true} #98#return; {45888#(< ~counter~0 45)} is VALID [2022-04-28 12:26:51,185 INFO L290 TraceCheckUtils]: 2: Hoare triple {45888#(< ~counter~0 45)} assume true; {45888#(< ~counter~0 45)} is VALID [2022-04-28 12:26:51,185 INFO L290 TraceCheckUtils]: 1: Hoare triple {45285#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {45888#(< ~counter~0 45)} is VALID [2022-04-28 12:26:51,185 INFO L272 TraceCheckUtils]: 0: Hoare triple {45285#true} call ULTIMATE.init(); {45285#true} is VALID [2022-04-28 12:26:51,185 INFO L134 CoverageAnalysis]: Checked inductivity of 347 backedges. 29 proven. 30 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 12:26:51,186 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:26:51,186 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [278261336] [2022-04-28 12:26:51,186 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:26:51,186 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [885572811] [2022-04-28 12:26:51,186 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [885572811] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:26:51,186 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:26:51,186 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 12:26:51,186 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:26:51,186 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1382947092] [2022-04-28 12:26:51,186 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1382947092] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:26:51,186 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:26:51,186 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:26:51,186 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [241774168] [2022-04-28 12:26:51,187 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:26:51,187 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 112 [2022-04-28 12:26:51,187 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:26:51,187 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:26:51,250 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:26:51,250 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:26:51,250 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:26:51,250 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:26:51,250 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:26:51,251 INFO L87 Difference]: Start difference. First operand 470 states and 614 transitions. Second operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:26:52,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:26:52,602 INFO L93 Difference]: Finished difference Result 644 states and 881 transitions. [2022-04-28 12:26:52,602 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:26:52,602 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 112 [2022-04-28 12:26:52,603 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:26:52,603 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:26:52,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 152 transitions. [2022-04-28 12:26:52,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:26:52,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 152 transitions. [2022-04-28 12:26:52,605 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 152 transitions. [2022-04-28 12:26:52,731 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:26:52,742 INFO L225 Difference]: With dead ends: 644 [2022-04-28 12:26:52,743 INFO L226 Difference]: Without dead ends: 474 [2022-04-28 12:26:52,743 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 227 GetRequests, 209 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=152, Invalid=228, Unknown=0, NotChecked=0, Total=380 [2022-04-28 12:26:52,744 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 47 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 79 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 213 SdHoareTripleChecker+Invalid, 125 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 79 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:26:52,744 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [47 Valid, 213 Invalid, 125 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 79 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:26:52,744 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 474 states. [2022-04-28 12:26:53,726 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 474 to 474. [2022-04-28 12:26:53,726 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:26:53,727 INFO L82 GeneralOperation]: Start isEquivalent. First operand 474 states. Second operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 12:26:53,727 INFO L74 IsIncluded]: Start isIncluded. First operand 474 states. Second operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 12:26:53,728 INFO L87 Difference]: Start difference. First operand 474 states. Second operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 12:26:53,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:26:53,737 INFO L93 Difference]: Finished difference Result 474 states and 616 transitions. [2022-04-28 12:26:53,737 INFO L276 IsEmpty]: Start isEmpty. Operand 474 states and 616 transitions. [2022-04-28 12:26:53,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:26:53,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:26:53,739 INFO L74 IsIncluded]: Start isIncluded. First operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) Second operand 474 states. [2022-04-28 12:26:53,739 INFO L87 Difference]: Start difference. First operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) Second operand 474 states. [2022-04-28 12:26:53,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:26:53,752 INFO L93 Difference]: Finished difference Result 474 states and 616 transitions. [2022-04-28 12:26:53,752 INFO L276 IsEmpty]: Start isEmpty. Operand 474 states and 616 transitions. [2022-04-28 12:26:53,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:26:53,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:26:53,753 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:26:53,753 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:26:53,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 474 states, 305 states have (on average 1.2163934426229508) internal successors, (371), 310 states have internal predecessors, (371), 124 states have call successors, (124), 45 states have call predecessors, (124), 44 states have return successors, (121), 118 states have call predecessors, (121), 121 states have call successors, (121) [2022-04-28 12:26:53,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 474 states to 474 states and 616 transitions. [2022-04-28 12:26:53,767 INFO L78 Accepts]: Start accepts. Automaton has 474 states and 616 transitions. Word has length 112 [2022-04-28 12:26:53,767 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:26:53,767 INFO L495 AbstractCegarLoop]: Abstraction has 474 states and 616 transitions. [2022-04-28 12:26:53,767 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:26:53,767 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 474 states and 616 transitions. [2022-04-28 12:26:54,771 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 616 edges. 616 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:26:54,771 INFO L276 IsEmpty]: Start isEmpty. Operand 474 states and 616 transitions. [2022-04-28 12:26:54,772 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-28 12:26:54,772 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:26:54,772 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:26:54,792 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Ended with exit code 0 [2022-04-28 12:26:54,983 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 29 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-28 12:26:54,984 INFO L420 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:26:54,984 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:26:54,984 INFO L85 PathProgramCache]: Analyzing trace with hash 1546024104, now seen corresponding path program 5 times [2022-04-28 12:26:54,984 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:26:54,984 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [245580444] [2022-04-28 12:26:54,984 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:26:54,984 INFO L85 PathProgramCache]: Analyzing trace with hash 1546024104, now seen corresponding path program 6 times [2022-04-28 12:26:54,984 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:26:54,984 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1484951141] [2022-04-28 12:26:54,985 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:26:54,985 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:26:54,994 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:26:54,994 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1037728983] [2022-04-28 12:26:54,994 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:26:54,994 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:26:54,995 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:26:54,995 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:26:54,998 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2022-04-28 12:26:55,080 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 12:26:55,080 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:26:55,082 INFO L263 TraceCheckSpWp]: Trace formula consists of 332 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 12:26:55,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:26:55,104 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:26:55,535 INFO L272 TraceCheckUtils]: 0: Hoare triple {49164#true} call ULTIMATE.init(); {49164#true} is VALID [2022-04-28 12:26:55,535 INFO L290 TraceCheckUtils]: 1: Hoare triple {49164#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,536 INFO L290 TraceCheckUtils]: 2: Hoare triple {49172#(<= ~counter~0 0)} assume true; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,536 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49172#(<= ~counter~0 0)} {49164#true} #98#return; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,536 INFO L272 TraceCheckUtils]: 4: Hoare triple {49172#(<= ~counter~0 0)} call #t~ret8 := main(); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,537 INFO L290 TraceCheckUtils]: 5: Hoare triple {49172#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,537 INFO L272 TraceCheckUtils]: 6: Hoare triple {49172#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,537 INFO L290 TraceCheckUtils]: 7: Hoare triple {49172#(<= ~counter~0 0)} ~cond := #in~cond; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,538 INFO L290 TraceCheckUtils]: 8: Hoare triple {49172#(<= ~counter~0 0)} assume !(0 == ~cond); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,538 INFO L290 TraceCheckUtils]: 9: Hoare triple {49172#(<= ~counter~0 0)} assume true; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,538 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {49172#(<= ~counter~0 0)} {49172#(<= ~counter~0 0)} #78#return; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,539 INFO L272 TraceCheckUtils]: 11: Hoare triple {49172#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,539 INFO L290 TraceCheckUtils]: 12: Hoare triple {49172#(<= ~counter~0 0)} ~cond := #in~cond; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,539 INFO L290 TraceCheckUtils]: 13: Hoare triple {49172#(<= ~counter~0 0)} assume !(0 == ~cond); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,539 INFO L290 TraceCheckUtils]: 14: Hoare triple {49172#(<= ~counter~0 0)} assume true; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,540 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {49172#(<= ~counter~0 0)} {49172#(<= ~counter~0 0)} #80#return; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,540 INFO L290 TraceCheckUtils]: 16: Hoare triple {49172#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,540 INFO L272 TraceCheckUtils]: 17: Hoare triple {49172#(<= ~counter~0 0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,541 INFO L290 TraceCheckUtils]: 18: Hoare triple {49172#(<= ~counter~0 0)} ~cond := #in~cond; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,541 INFO L290 TraceCheckUtils]: 19: Hoare triple {49172#(<= ~counter~0 0)} assume !(0 == ~cond); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,541 INFO L290 TraceCheckUtils]: 20: Hoare triple {49172#(<= ~counter~0 0)} assume true; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,541 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {49172#(<= ~counter~0 0)} {49172#(<= ~counter~0 0)} #82#return; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,542 INFO L272 TraceCheckUtils]: 22: Hoare triple {49172#(<= ~counter~0 0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,542 INFO L290 TraceCheckUtils]: 23: Hoare triple {49172#(<= ~counter~0 0)} ~cond := #in~cond; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,542 INFO L290 TraceCheckUtils]: 24: Hoare triple {49172#(<= ~counter~0 0)} assume !(0 == ~cond); {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,543 INFO L290 TraceCheckUtils]: 25: Hoare triple {49172#(<= ~counter~0 0)} assume true; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,543 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {49172#(<= ~counter~0 0)} {49172#(<= ~counter~0 0)} #84#return; {49172#(<= ~counter~0 0)} is VALID [2022-04-28 12:26:55,544 INFO L290 TraceCheckUtils]: 27: Hoare triple {49172#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49251#(<= ~counter~0 1)} is VALID [2022-04-28 12:26:55,545 INFO L290 TraceCheckUtils]: 28: Hoare triple {49251#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {49251#(<= ~counter~0 1)} is VALID [2022-04-28 12:26:55,545 INFO L290 TraceCheckUtils]: 29: Hoare triple {49251#(<= ~counter~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49251#(<= ~counter~0 1)} is VALID [2022-04-28 12:26:55,545 INFO L290 TraceCheckUtils]: 30: Hoare triple {49251#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,549 INFO L290 TraceCheckUtils]: 31: Hoare triple {49261#(<= ~counter~0 2)} assume !!(#t~post7 < 50);havoc #t~post7; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,549 INFO L272 TraceCheckUtils]: 32: Hoare triple {49261#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,550 INFO L290 TraceCheckUtils]: 33: Hoare triple {49261#(<= ~counter~0 2)} ~cond := #in~cond; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,550 INFO L290 TraceCheckUtils]: 34: Hoare triple {49261#(<= ~counter~0 2)} assume !(0 == ~cond); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,550 INFO L290 TraceCheckUtils]: 35: Hoare triple {49261#(<= ~counter~0 2)} assume true; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,551 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {49261#(<= ~counter~0 2)} {49261#(<= ~counter~0 2)} #86#return; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,551 INFO L272 TraceCheckUtils]: 37: Hoare triple {49261#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,552 INFO L290 TraceCheckUtils]: 38: Hoare triple {49261#(<= ~counter~0 2)} ~cond := #in~cond; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,552 INFO L290 TraceCheckUtils]: 39: Hoare triple {49261#(<= ~counter~0 2)} assume !(0 == ~cond); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,552 INFO L290 TraceCheckUtils]: 40: Hoare triple {49261#(<= ~counter~0 2)} assume true; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,553 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {49261#(<= ~counter~0 2)} {49261#(<= ~counter~0 2)} #88#return; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,553 INFO L272 TraceCheckUtils]: 42: Hoare triple {49261#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,553 INFO L290 TraceCheckUtils]: 43: Hoare triple {49261#(<= ~counter~0 2)} ~cond := #in~cond; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,554 INFO L290 TraceCheckUtils]: 44: Hoare triple {49261#(<= ~counter~0 2)} assume !(0 == ~cond); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,554 INFO L290 TraceCheckUtils]: 45: Hoare triple {49261#(<= ~counter~0 2)} assume true; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,554 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {49261#(<= ~counter~0 2)} {49261#(<= ~counter~0 2)} #90#return; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,555 INFO L272 TraceCheckUtils]: 47: Hoare triple {49261#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,555 INFO L290 TraceCheckUtils]: 48: Hoare triple {49261#(<= ~counter~0 2)} ~cond := #in~cond; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,555 INFO L290 TraceCheckUtils]: 49: Hoare triple {49261#(<= ~counter~0 2)} assume !(0 == ~cond); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,556 INFO L290 TraceCheckUtils]: 50: Hoare triple {49261#(<= ~counter~0 2)} assume true; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,556 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {49261#(<= ~counter~0 2)} {49261#(<= ~counter~0 2)} #92#return; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,557 INFO L290 TraceCheckUtils]: 52: Hoare triple {49261#(<= ~counter~0 2)} assume !(~c~0 >= ~b~0); {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,557 INFO L290 TraceCheckUtils]: 53: Hoare triple {49261#(<= ~counter~0 2)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {49261#(<= ~counter~0 2)} is VALID [2022-04-28 12:26:55,558 INFO L290 TraceCheckUtils]: 54: Hoare triple {49261#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49334#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:55,558 INFO L290 TraceCheckUtils]: 55: Hoare triple {49334#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {49334#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:55,558 INFO L290 TraceCheckUtils]: 56: Hoare triple {49334#(<= ~counter~0 3)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49334#(<= ~counter~0 3)} is VALID [2022-04-28 12:26:55,559 INFO L290 TraceCheckUtils]: 57: Hoare triple {49334#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,559 INFO L290 TraceCheckUtils]: 58: Hoare triple {49344#(<= ~counter~0 4)} assume !!(#t~post7 < 50);havoc #t~post7; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,560 INFO L272 TraceCheckUtils]: 59: Hoare triple {49344#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,560 INFO L290 TraceCheckUtils]: 60: Hoare triple {49344#(<= ~counter~0 4)} ~cond := #in~cond; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,560 INFO L290 TraceCheckUtils]: 61: Hoare triple {49344#(<= ~counter~0 4)} assume !(0 == ~cond); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,561 INFO L290 TraceCheckUtils]: 62: Hoare triple {49344#(<= ~counter~0 4)} assume true; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,561 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {49344#(<= ~counter~0 4)} {49344#(<= ~counter~0 4)} #86#return; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,562 INFO L272 TraceCheckUtils]: 64: Hoare triple {49344#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,562 INFO L290 TraceCheckUtils]: 65: Hoare triple {49344#(<= ~counter~0 4)} ~cond := #in~cond; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,562 INFO L290 TraceCheckUtils]: 66: Hoare triple {49344#(<= ~counter~0 4)} assume !(0 == ~cond); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,562 INFO L290 TraceCheckUtils]: 67: Hoare triple {49344#(<= ~counter~0 4)} assume true; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,563 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {49344#(<= ~counter~0 4)} {49344#(<= ~counter~0 4)} #88#return; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,563 INFO L272 TraceCheckUtils]: 69: Hoare triple {49344#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,564 INFO L290 TraceCheckUtils]: 70: Hoare triple {49344#(<= ~counter~0 4)} ~cond := #in~cond; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,564 INFO L290 TraceCheckUtils]: 71: Hoare triple {49344#(<= ~counter~0 4)} assume !(0 == ~cond); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,564 INFO L290 TraceCheckUtils]: 72: Hoare triple {49344#(<= ~counter~0 4)} assume true; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,565 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {49344#(<= ~counter~0 4)} {49344#(<= ~counter~0 4)} #90#return; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,565 INFO L272 TraceCheckUtils]: 74: Hoare triple {49344#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,566 INFO L290 TraceCheckUtils]: 75: Hoare triple {49344#(<= ~counter~0 4)} ~cond := #in~cond; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,566 INFO L290 TraceCheckUtils]: 76: Hoare triple {49344#(<= ~counter~0 4)} assume !(0 == ~cond); {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,566 INFO L290 TraceCheckUtils]: 77: Hoare triple {49344#(<= ~counter~0 4)} assume true; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,567 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {49344#(<= ~counter~0 4)} {49344#(<= ~counter~0 4)} #92#return; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,567 INFO L290 TraceCheckUtils]: 79: Hoare triple {49344#(<= ~counter~0 4)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {49344#(<= ~counter~0 4)} is VALID [2022-04-28 12:26:55,568 INFO L290 TraceCheckUtils]: 80: Hoare triple {49344#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,568 INFO L290 TraceCheckUtils]: 81: Hoare triple {49414#(<= ~counter~0 5)} assume !!(#t~post7 < 50);havoc #t~post7; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,569 INFO L272 TraceCheckUtils]: 82: Hoare triple {49414#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,569 INFO L290 TraceCheckUtils]: 83: Hoare triple {49414#(<= ~counter~0 5)} ~cond := #in~cond; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,569 INFO L290 TraceCheckUtils]: 84: Hoare triple {49414#(<= ~counter~0 5)} assume !(0 == ~cond); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,569 INFO L290 TraceCheckUtils]: 85: Hoare triple {49414#(<= ~counter~0 5)} assume true; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,570 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {49414#(<= ~counter~0 5)} {49414#(<= ~counter~0 5)} #86#return; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,570 INFO L272 TraceCheckUtils]: 87: Hoare triple {49414#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,571 INFO L290 TraceCheckUtils]: 88: Hoare triple {49414#(<= ~counter~0 5)} ~cond := #in~cond; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,571 INFO L290 TraceCheckUtils]: 89: Hoare triple {49414#(<= ~counter~0 5)} assume !(0 == ~cond); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,571 INFO L290 TraceCheckUtils]: 90: Hoare triple {49414#(<= ~counter~0 5)} assume true; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,572 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {49414#(<= ~counter~0 5)} {49414#(<= ~counter~0 5)} #88#return; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,572 INFO L272 TraceCheckUtils]: 92: Hoare triple {49414#(<= ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,572 INFO L290 TraceCheckUtils]: 93: Hoare triple {49414#(<= ~counter~0 5)} ~cond := #in~cond; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,573 INFO L290 TraceCheckUtils]: 94: Hoare triple {49414#(<= ~counter~0 5)} assume !(0 == ~cond); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,573 INFO L290 TraceCheckUtils]: 95: Hoare triple {49414#(<= ~counter~0 5)} assume true; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,574 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {49414#(<= ~counter~0 5)} {49414#(<= ~counter~0 5)} #90#return; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,574 INFO L272 TraceCheckUtils]: 97: Hoare triple {49414#(<= ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,574 INFO L290 TraceCheckUtils]: 98: Hoare triple {49414#(<= ~counter~0 5)} ~cond := #in~cond; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,575 INFO L290 TraceCheckUtils]: 99: Hoare triple {49414#(<= ~counter~0 5)} assume !(0 == ~cond); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,575 INFO L290 TraceCheckUtils]: 100: Hoare triple {49414#(<= ~counter~0 5)} assume true; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,576 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {49414#(<= ~counter~0 5)} {49414#(<= ~counter~0 5)} #92#return; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,576 INFO L290 TraceCheckUtils]: 102: Hoare triple {49414#(<= ~counter~0 5)} assume !(~c~0 >= ~b~0); {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,576 INFO L290 TraceCheckUtils]: 103: Hoare triple {49414#(<= ~counter~0 5)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {49414#(<= ~counter~0 5)} is VALID [2022-04-28 12:26:55,577 INFO L290 TraceCheckUtils]: 104: Hoare triple {49414#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49487#(<= ~counter~0 6)} is VALID [2022-04-28 12:26:55,577 INFO L290 TraceCheckUtils]: 105: Hoare triple {49487#(<= ~counter~0 6)} assume !!(#t~post6 < 50);havoc #t~post6; {49487#(<= ~counter~0 6)} is VALID [2022-04-28 12:26:55,577 INFO L290 TraceCheckUtils]: 106: Hoare triple {49487#(<= ~counter~0 6)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49487#(<= ~counter~0 6)} is VALID [2022-04-28 12:26:55,578 INFO L290 TraceCheckUtils]: 107: Hoare triple {49487#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49497#(<= |main_#t~post7| 6)} is VALID [2022-04-28 12:26:55,578 INFO L290 TraceCheckUtils]: 108: Hoare triple {49497#(<= |main_#t~post7| 6)} assume !(#t~post7 < 50);havoc #t~post7; {49165#false} is VALID [2022-04-28 12:26:55,578 INFO L290 TraceCheckUtils]: 109: Hoare triple {49165#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {49165#false} is VALID [2022-04-28 12:26:55,578 INFO L290 TraceCheckUtils]: 110: Hoare triple {49165#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49165#false} is VALID [2022-04-28 12:26:55,578 INFO L290 TraceCheckUtils]: 111: Hoare triple {49165#false} assume !(#t~post6 < 50);havoc #t~post6; {49165#false} is VALID [2022-04-28 12:26:55,578 INFO L272 TraceCheckUtils]: 112: Hoare triple {49165#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {49165#false} is VALID [2022-04-28 12:26:55,578 INFO L290 TraceCheckUtils]: 113: Hoare triple {49165#false} ~cond := #in~cond; {49165#false} is VALID [2022-04-28 12:26:55,578 INFO L290 TraceCheckUtils]: 114: Hoare triple {49165#false} assume 0 == ~cond; {49165#false} is VALID [2022-04-28 12:26:55,579 INFO L290 TraceCheckUtils]: 115: Hoare triple {49165#false} assume !false; {49165#false} is VALID [2022-04-28 12:26:55,579 INFO L134 CoverageAnalysis]: Checked inductivity of 357 backedges. 32 proven. 229 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-28 12:26:55,579 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:26:56,041 INFO L290 TraceCheckUtils]: 115: Hoare triple {49165#false} assume !false; {49165#false} is VALID [2022-04-28 12:26:56,041 INFO L290 TraceCheckUtils]: 114: Hoare triple {49165#false} assume 0 == ~cond; {49165#false} is VALID [2022-04-28 12:26:56,041 INFO L290 TraceCheckUtils]: 113: Hoare triple {49165#false} ~cond := #in~cond; {49165#false} is VALID [2022-04-28 12:26:56,041 INFO L272 TraceCheckUtils]: 112: Hoare triple {49165#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {49165#false} is VALID [2022-04-28 12:26:56,041 INFO L290 TraceCheckUtils]: 111: Hoare triple {49165#false} assume !(#t~post6 < 50);havoc #t~post6; {49165#false} is VALID [2022-04-28 12:26:56,041 INFO L290 TraceCheckUtils]: 110: Hoare triple {49165#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49165#false} is VALID [2022-04-28 12:26:56,042 INFO L290 TraceCheckUtils]: 109: Hoare triple {49165#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {49165#false} is VALID [2022-04-28 12:26:56,042 INFO L290 TraceCheckUtils]: 108: Hoare triple {49543#(< |main_#t~post7| 50)} assume !(#t~post7 < 50);havoc #t~post7; {49165#false} is VALID [2022-04-28 12:26:56,042 INFO L290 TraceCheckUtils]: 107: Hoare triple {49547#(< ~counter~0 50)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49543#(< |main_#t~post7| 50)} is VALID [2022-04-28 12:26:56,042 INFO L290 TraceCheckUtils]: 106: Hoare triple {49547#(< ~counter~0 50)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49547#(< ~counter~0 50)} is VALID [2022-04-28 12:26:56,043 INFO L290 TraceCheckUtils]: 105: Hoare triple {49547#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {49547#(< ~counter~0 50)} is VALID [2022-04-28 12:26:56,044 INFO L290 TraceCheckUtils]: 104: Hoare triple {49557#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49547#(< ~counter~0 50)} is VALID [2022-04-28 12:26:56,044 INFO L290 TraceCheckUtils]: 103: Hoare triple {49557#(< ~counter~0 49)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {49557#(< ~counter~0 49)} is VALID [2022-04-28 12:26:56,045 INFO L290 TraceCheckUtils]: 102: Hoare triple {49557#(< ~counter~0 49)} assume !(~c~0 >= ~b~0); {49557#(< ~counter~0 49)} is VALID [2022-04-28 12:26:56,045 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {49164#true} {49557#(< ~counter~0 49)} #92#return; {49557#(< ~counter~0 49)} is VALID [2022-04-28 12:26:56,045 INFO L290 TraceCheckUtils]: 100: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:26:56,045 INFO L290 TraceCheckUtils]: 99: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:26:56,045 INFO L290 TraceCheckUtils]: 98: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:26:56,045 INFO L272 TraceCheckUtils]: 97: Hoare triple {49557#(< ~counter~0 49)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:26:56,046 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {49164#true} {49557#(< ~counter~0 49)} #90#return; {49557#(< ~counter~0 49)} is VALID [2022-04-28 12:26:56,046 INFO L290 TraceCheckUtils]: 95: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:26:56,046 INFO L290 TraceCheckUtils]: 94: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:26:56,046 INFO L290 TraceCheckUtils]: 93: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:26:56,046 INFO L272 TraceCheckUtils]: 92: Hoare triple {49557#(< ~counter~0 49)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:26:56,047 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {49164#true} {49557#(< ~counter~0 49)} #88#return; {49557#(< ~counter~0 49)} is VALID [2022-04-28 12:26:56,047 INFO L290 TraceCheckUtils]: 90: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:26:56,047 INFO L290 TraceCheckUtils]: 89: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:26:56,047 INFO L290 TraceCheckUtils]: 88: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:26:56,047 INFO L272 TraceCheckUtils]: 87: Hoare triple {49557#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:26:56,048 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {49164#true} {49557#(< ~counter~0 49)} #86#return; {49557#(< ~counter~0 49)} is VALID [2022-04-28 12:26:56,048 INFO L290 TraceCheckUtils]: 85: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:26:56,048 INFO L290 TraceCheckUtils]: 84: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:26:56,048 INFO L290 TraceCheckUtils]: 83: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:26:56,048 INFO L272 TraceCheckUtils]: 82: Hoare triple {49557#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:26:56,048 INFO L290 TraceCheckUtils]: 81: Hoare triple {49557#(< ~counter~0 49)} assume !!(#t~post7 < 50);havoc #t~post7; {49557#(< ~counter~0 49)} is VALID [2022-04-28 12:26:56,049 INFO L290 TraceCheckUtils]: 80: Hoare triple {49630#(< ~counter~0 48)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49557#(< ~counter~0 49)} is VALID [2022-04-28 12:26:56,049 INFO L290 TraceCheckUtils]: 79: Hoare triple {49630#(< ~counter~0 48)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {49630#(< ~counter~0 48)} is VALID [2022-04-28 12:26:56,050 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {49164#true} {49630#(< ~counter~0 48)} #92#return; {49630#(< ~counter~0 48)} is VALID [2022-04-28 12:26:56,050 INFO L290 TraceCheckUtils]: 77: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:26:56,050 INFO L290 TraceCheckUtils]: 76: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:26:56,050 INFO L290 TraceCheckUtils]: 75: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:26:56,050 INFO L272 TraceCheckUtils]: 74: Hoare triple {49630#(< ~counter~0 48)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:26:56,051 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {49164#true} {49630#(< ~counter~0 48)} #90#return; {49630#(< ~counter~0 48)} is VALID [2022-04-28 12:26:56,051 INFO L290 TraceCheckUtils]: 72: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:26:56,051 INFO L290 TraceCheckUtils]: 71: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:26:56,051 INFO L290 TraceCheckUtils]: 70: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:26:56,051 INFO L272 TraceCheckUtils]: 69: Hoare triple {49630#(< ~counter~0 48)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:26:56,052 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {49164#true} {49630#(< ~counter~0 48)} #88#return; {49630#(< ~counter~0 48)} is VALID [2022-04-28 12:26:56,052 INFO L290 TraceCheckUtils]: 67: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:26:56,052 INFO L290 TraceCheckUtils]: 66: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:26:56,052 INFO L290 TraceCheckUtils]: 65: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:26:56,052 INFO L272 TraceCheckUtils]: 64: Hoare triple {49630#(< ~counter~0 48)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:26:56,052 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {49164#true} {49630#(< ~counter~0 48)} #86#return; {49630#(< ~counter~0 48)} is VALID [2022-04-28 12:26:56,052 INFO L290 TraceCheckUtils]: 62: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:26:56,052 INFO L290 TraceCheckUtils]: 61: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:26:56,052 INFO L290 TraceCheckUtils]: 60: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:26:56,053 INFO L272 TraceCheckUtils]: 59: Hoare triple {49630#(< ~counter~0 48)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:26:56,053 INFO L290 TraceCheckUtils]: 58: Hoare triple {49630#(< ~counter~0 48)} assume !!(#t~post7 < 50);havoc #t~post7; {49630#(< ~counter~0 48)} is VALID [2022-04-28 12:26:56,054 INFO L290 TraceCheckUtils]: 57: Hoare triple {49700#(< ~counter~0 47)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49630#(< ~counter~0 48)} is VALID [2022-04-28 12:26:56,054 INFO L290 TraceCheckUtils]: 56: Hoare triple {49700#(< ~counter~0 47)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49700#(< ~counter~0 47)} is VALID [2022-04-28 12:26:56,054 INFO L290 TraceCheckUtils]: 55: Hoare triple {49700#(< ~counter~0 47)} assume !!(#t~post6 < 50);havoc #t~post6; {49700#(< ~counter~0 47)} is VALID [2022-04-28 12:26:56,055 INFO L290 TraceCheckUtils]: 54: Hoare triple {49710#(< ~counter~0 46)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49700#(< ~counter~0 47)} is VALID [2022-04-28 12:26:56,055 INFO L290 TraceCheckUtils]: 53: Hoare triple {49710#(< ~counter~0 46)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {49710#(< ~counter~0 46)} is VALID [2022-04-28 12:26:56,056 INFO L290 TraceCheckUtils]: 52: Hoare triple {49710#(< ~counter~0 46)} assume !(~c~0 >= ~b~0); {49710#(< ~counter~0 46)} is VALID [2022-04-28 12:26:56,056 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {49164#true} {49710#(< ~counter~0 46)} #92#return; {49710#(< ~counter~0 46)} is VALID [2022-04-28 12:26:56,056 INFO L290 TraceCheckUtils]: 50: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:26:56,056 INFO L290 TraceCheckUtils]: 49: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:26:56,056 INFO L290 TraceCheckUtils]: 48: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:26:56,056 INFO L272 TraceCheckUtils]: 47: Hoare triple {49710#(< ~counter~0 46)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:26:56,057 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {49164#true} {49710#(< ~counter~0 46)} #90#return; {49710#(< ~counter~0 46)} is VALID [2022-04-28 12:26:56,057 INFO L290 TraceCheckUtils]: 45: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:26:56,057 INFO L290 TraceCheckUtils]: 44: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:26:56,057 INFO L290 TraceCheckUtils]: 43: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:26:56,057 INFO L272 TraceCheckUtils]: 42: Hoare triple {49710#(< ~counter~0 46)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:26:56,058 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {49164#true} {49710#(< ~counter~0 46)} #88#return; {49710#(< ~counter~0 46)} is VALID [2022-04-28 12:26:56,058 INFO L290 TraceCheckUtils]: 40: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:26:56,058 INFO L290 TraceCheckUtils]: 39: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:26:56,058 INFO L290 TraceCheckUtils]: 38: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:26:56,058 INFO L272 TraceCheckUtils]: 37: Hoare triple {49710#(< ~counter~0 46)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:26:56,059 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {49164#true} {49710#(< ~counter~0 46)} #86#return; {49710#(< ~counter~0 46)} is VALID [2022-04-28 12:26:56,059 INFO L290 TraceCheckUtils]: 35: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:26:56,059 INFO L290 TraceCheckUtils]: 34: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:26:56,059 INFO L290 TraceCheckUtils]: 33: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:26:56,059 INFO L272 TraceCheckUtils]: 32: Hoare triple {49710#(< ~counter~0 46)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:26:56,059 INFO L290 TraceCheckUtils]: 31: Hoare triple {49710#(< ~counter~0 46)} assume !!(#t~post7 < 50);havoc #t~post7; {49710#(< ~counter~0 46)} is VALID [2022-04-28 12:26:56,060 INFO L290 TraceCheckUtils]: 30: Hoare triple {49783#(< ~counter~0 45)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {49710#(< ~counter~0 46)} is VALID [2022-04-28 12:26:56,060 INFO L290 TraceCheckUtils]: 29: Hoare triple {49783#(< ~counter~0 45)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {49783#(< ~counter~0 45)} is VALID [2022-04-28 12:26:56,061 INFO L290 TraceCheckUtils]: 28: Hoare triple {49783#(< ~counter~0 45)} assume !!(#t~post6 < 50);havoc #t~post6; {49783#(< ~counter~0 45)} is VALID [2022-04-28 12:26:56,061 INFO L290 TraceCheckUtils]: 27: Hoare triple {49793#(< ~counter~0 44)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {49783#(< ~counter~0 45)} is VALID [2022-04-28 12:26:56,062 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {49164#true} {49793#(< ~counter~0 44)} #84#return; {49793#(< ~counter~0 44)} is VALID [2022-04-28 12:26:56,062 INFO L290 TraceCheckUtils]: 25: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:26:56,062 INFO L290 TraceCheckUtils]: 24: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:26:56,062 INFO L290 TraceCheckUtils]: 23: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:26:56,062 INFO L272 TraceCheckUtils]: 22: Hoare triple {49793#(< ~counter~0 44)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:26:56,062 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {49164#true} {49793#(< ~counter~0 44)} #82#return; {49793#(< ~counter~0 44)} is VALID [2022-04-28 12:26:56,062 INFO L290 TraceCheckUtils]: 20: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:26:56,062 INFO L290 TraceCheckUtils]: 19: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:26:56,063 INFO L290 TraceCheckUtils]: 18: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:26:56,063 INFO L272 TraceCheckUtils]: 17: Hoare triple {49793#(< ~counter~0 44)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:26:56,063 INFO L290 TraceCheckUtils]: 16: Hoare triple {49793#(< ~counter~0 44)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {49793#(< ~counter~0 44)} is VALID [2022-04-28 12:26:56,063 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {49164#true} {49793#(< ~counter~0 44)} #80#return; {49793#(< ~counter~0 44)} is VALID [2022-04-28 12:26:56,063 INFO L290 TraceCheckUtils]: 14: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:26:56,063 INFO L290 TraceCheckUtils]: 13: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:26:56,063 INFO L290 TraceCheckUtils]: 12: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:26:56,064 INFO L272 TraceCheckUtils]: 11: Hoare triple {49793#(< ~counter~0 44)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:26:56,064 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {49164#true} {49793#(< ~counter~0 44)} #78#return; {49793#(< ~counter~0 44)} is VALID [2022-04-28 12:26:56,064 INFO L290 TraceCheckUtils]: 9: Hoare triple {49164#true} assume true; {49164#true} is VALID [2022-04-28 12:26:56,064 INFO L290 TraceCheckUtils]: 8: Hoare triple {49164#true} assume !(0 == ~cond); {49164#true} is VALID [2022-04-28 12:26:56,064 INFO L290 TraceCheckUtils]: 7: Hoare triple {49164#true} ~cond := #in~cond; {49164#true} is VALID [2022-04-28 12:26:56,064 INFO L272 TraceCheckUtils]: 6: Hoare triple {49793#(< ~counter~0 44)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {49164#true} is VALID [2022-04-28 12:26:56,064 INFO L290 TraceCheckUtils]: 5: Hoare triple {49793#(< ~counter~0 44)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {49793#(< ~counter~0 44)} is VALID [2022-04-28 12:26:56,065 INFO L272 TraceCheckUtils]: 4: Hoare triple {49793#(< ~counter~0 44)} call #t~ret8 := main(); {49793#(< ~counter~0 44)} is VALID [2022-04-28 12:26:56,065 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49793#(< ~counter~0 44)} {49164#true} #98#return; {49793#(< ~counter~0 44)} is VALID [2022-04-28 12:26:56,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {49793#(< ~counter~0 44)} assume true; {49793#(< ~counter~0 44)} is VALID [2022-04-28 12:26:56,066 INFO L290 TraceCheckUtils]: 1: Hoare triple {49164#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {49793#(< ~counter~0 44)} is VALID [2022-04-28 12:26:56,066 INFO L272 TraceCheckUtils]: 0: Hoare triple {49164#true} call ULTIMATE.init(); {49164#true} is VALID [2022-04-28 12:26:56,066 INFO L134 CoverageAnalysis]: Checked inductivity of 357 backedges. 32 proven. 37 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 12:26:56,066 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:26:56,066 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1484951141] [2022-04-28 12:26:56,066 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:26:56,067 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1037728983] [2022-04-28 12:26:56,067 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1037728983] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:26:56,067 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:26:56,067 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-28 12:26:56,067 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:26:56,067 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [245580444] [2022-04-28 12:26:56,067 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [245580444] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:26:56,067 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:26:56,067 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:26:56,067 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [666942439] [2022-04-28 12:26:56,067 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:26:56,068 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 116 [2022-04-28 12:26:56,068 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:26:56,068 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:26:56,138 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:26:56,138 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:26:56,138 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:26:56,139 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:26:56,139 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:26:56,139 INFO L87 Difference]: Start difference. First operand 474 states and 616 transitions. Second operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:26:57,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:26:57,725 INFO L93 Difference]: Finished difference Result 731 states and 966 transitions. [2022-04-28 12:26:57,725 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 12:26:57,725 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) Word has length 116 [2022-04-28 12:26:57,726 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:26:57,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:26:57,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 175 transitions. [2022-04-28 12:26:57,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:26:57,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 175 transitions. [2022-04-28 12:26:57,729 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 175 transitions. [2022-04-28 12:26:57,892 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 175 edges. 175 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:26:57,911 INFO L225 Difference]: With dead ends: 731 [2022-04-28 12:26:57,911 INFO L226 Difference]: Without dead ends: 561 [2022-04-28 12:26:57,912 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 236 GetRequests, 215 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=205, Invalid=301, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:26:57,912 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 76 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 92 mSolverCounterSat, 52 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 76 SdHoareTripleChecker+Valid, 222 SdHoareTripleChecker+Invalid, 144 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 52 IncrementalHoareTripleChecker+Valid, 92 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:26:57,912 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [76 Valid, 222 Invalid, 144 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [52 Valid, 92 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:26:57,913 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 561 states. [2022-04-28 12:26:59,054 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 561 to 553. [2022-04-28 12:26:59,054 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:26:59,055 INFO L82 GeneralOperation]: Start isEquivalent. First operand 561 states. Second operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) [2022-04-28 12:26:59,056 INFO L74 IsIncluded]: Start isIncluded. First operand 561 states. Second operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) [2022-04-28 12:26:59,056 INFO L87 Difference]: Start difference. First operand 561 states. Second operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) [2022-04-28 12:26:59,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:26:59,073 INFO L93 Difference]: Finished difference Result 561 states and 699 transitions. [2022-04-28 12:26:59,073 INFO L276 IsEmpty]: Start isEmpty. Operand 561 states and 699 transitions. [2022-04-28 12:26:59,074 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:26:59,074 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:26:59,075 INFO L74 IsIncluded]: Start isIncluded. First operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) Second operand 561 states. [2022-04-28 12:26:59,075 INFO L87 Difference]: Start difference. First operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) Second operand 561 states. [2022-04-28 12:26:59,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:26:59,093 INFO L93 Difference]: Finished difference Result 561 states and 699 transitions. [2022-04-28 12:26:59,093 INFO L276 IsEmpty]: Start isEmpty. Operand 561 states and 699 transitions. [2022-04-28 12:26:59,095 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:26:59,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:26:59,095 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:26:59,095 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:26:59,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 553 states, 361 states have (on average 1.1911357340720221) internal successors, (430), 367 states have internal predecessors, (430), 133 states have call successors, (133), 59 states have call predecessors, (133), 58 states have return successors, (129), 126 states have call predecessors, (129), 129 states have call successors, (129) [2022-04-28 12:26:59,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 553 states to 553 states and 692 transitions. [2022-04-28 12:26:59,119 INFO L78 Accepts]: Start accepts. Automaton has 553 states and 692 transitions. Word has length 116 [2022-04-28 12:26:59,119 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:26:59,120 INFO L495 AbstractCegarLoop]: Abstraction has 553 states and 692 transitions. [2022-04-28 12:26:59,120 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 9 states have internal predecessors, (44), 6 states have call successors, (19), 6 states have call predecessors, (19), 4 states have return successors, (17), 4 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:26:59,120 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 553 states and 692 transitions. [2022-04-28 12:27:00,303 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 692 edges. 692 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:27:00,303 INFO L276 IsEmpty]: Start isEmpty. Operand 553 states and 692 transitions. [2022-04-28 12:27:00,304 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2022-04-28 12:27:00,304 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:27:00,304 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 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] [2022-04-28 12:27:00,320 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Forceful destruction successful, exit code 0 [2022-04-28 12:27:00,504 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,30 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:27:00,505 INFO L420 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:27:00,505 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:27:00,505 INFO L85 PathProgramCache]: Analyzing trace with hash 1978671899, now seen corresponding path program 3 times [2022-04-28 12:27:00,505 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:27:00,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1457165982] [2022-04-28 12:27:00,505 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:27:00,505 INFO L85 PathProgramCache]: Analyzing trace with hash 1978671899, now seen corresponding path program 4 times [2022-04-28 12:27:00,506 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:27:00,506 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [55846887] [2022-04-28 12:27:00,506 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:27:00,506 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:27:00,520 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:27:00,521 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [773520731] [2022-04-28 12:27:00,521 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:27:00,521 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:27:00,521 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:27:00,522 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:27:00,523 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2022-04-28 12:27:00,586 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:27:00,586 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:27:00,587 INFO L263 TraceCheckSpWp]: Trace formula consists of 274 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 12:27:00,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:27:00,607 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:27:03,118 INFO L272 TraceCheckUtils]: 0: Hoare triple {53577#true} call ULTIMATE.init(); {53577#true} is VALID [2022-04-28 12:27:03,118 INFO L290 TraceCheckUtils]: 1: Hoare triple {53577#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {53577#true} is VALID [2022-04-28 12:27:03,118 INFO L290 TraceCheckUtils]: 2: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,118 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53577#true} {53577#true} #98#return; {53577#true} is VALID [2022-04-28 12:27:03,118 INFO L272 TraceCheckUtils]: 4: Hoare triple {53577#true} call #t~ret8 := main(); {53577#true} is VALID [2022-04-28 12:27:03,118 INFO L290 TraceCheckUtils]: 5: Hoare triple {53577#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {53577#true} is VALID [2022-04-28 12:27:03,118 INFO L272 TraceCheckUtils]: 6: Hoare triple {53577#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,118 INFO L290 TraceCheckUtils]: 7: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:03,118 INFO L290 TraceCheckUtils]: 8: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:03,118 INFO L290 TraceCheckUtils]: 9: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,118 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53577#true} {53577#true} #78#return; {53577#true} is VALID [2022-04-28 12:27:03,119 INFO L272 TraceCheckUtils]: 11: Hoare triple {53577#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,119 INFO L290 TraceCheckUtils]: 12: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:03,119 INFO L290 TraceCheckUtils]: 13: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:03,119 INFO L290 TraceCheckUtils]: 14: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,119 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {53577#true} {53577#true} #80#return; {53577#true} is VALID [2022-04-28 12:27:03,119 INFO L290 TraceCheckUtils]: 16: Hoare triple {53577#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:27:03,119 INFO L272 TraceCheckUtils]: 17: Hoare triple {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,119 INFO L290 TraceCheckUtils]: 18: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:03,119 INFO L290 TraceCheckUtils]: 19: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:03,120 INFO L290 TraceCheckUtils]: 20: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,120 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {53577#true} {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} #82#return; {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:27:03,120 INFO L272 TraceCheckUtils]: 22: Hoare triple {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,120 INFO L290 TraceCheckUtils]: 23: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:03,120 INFO L290 TraceCheckUtils]: 24: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:03,120 INFO L290 TraceCheckUtils]: 25: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,121 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {53577#true} {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} #84#return; {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:27:03,121 INFO L290 TraceCheckUtils]: 27: Hoare triple {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:27:03,121 INFO L290 TraceCheckUtils]: 28: Hoare triple {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:27:03,122 INFO L290 TraceCheckUtils]: 29: Hoare triple {53630#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:27:03,122 INFO L290 TraceCheckUtils]: 30: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:27:03,122 INFO L290 TraceCheckUtils]: 31: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} assume !!(#t~post7 < 50);havoc #t~post7; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:27:03,122 INFO L272 TraceCheckUtils]: 32: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,123 INFO L290 TraceCheckUtils]: 33: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:03,123 INFO L290 TraceCheckUtils]: 34: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:03,123 INFO L290 TraceCheckUtils]: 35: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,123 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {53577#true} {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} #86#return; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:27:03,123 INFO L272 TraceCheckUtils]: 37: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,123 INFO L290 TraceCheckUtils]: 38: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:03,123 INFO L290 TraceCheckUtils]: 39: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:03,124 INFO L290 TraceCheckUtils]: 40: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,124 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {53577#true} {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} #88#return; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:27:03,124 INFO L272 TraceCheckUtils]: 42: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,124 INFO L290 TraceCheckUtils]: 43: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:03,124 INFO L290 TraceCheckUtils]: 44: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:03,124 INFO L290 TraceCheckUtils]: 45: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,125 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {53577#true} {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} #90#return; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:27:03,125 INFO L272 TraceCheckUtils]: 47: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,125 INFO L290 TraceCheckUtils]: 48: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:03,125 INFO L290 TraceCheckUtils]: 49: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:03,125 INFO L290 TraceCheckUtils]: 50: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,126 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {53577#true} {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} #92#return; {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:27:03,126 INFO L290 TraceCheckUtils]: 52: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} is VALID [2022-04-28 12:27:03,127 INFO L290 TraceCheckUtils]: 53: Hoare triple {53670#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:27:03,127 INFO L290 TraceCheckUtils]: 54: Hoare triple {53743#(= main_~s~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:27:03,127 INFO L290 TraceCheckUtils]: 55: Hoare triple {53743#(= main_~s~0 0)} assume !!(#t~post6 < 50);havoc #t~post6; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:27:03,127 INFO L290 TraceCheckUtils]: 56: Hoare triple {53743#(= main_~s~0 0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:27:03,128 INFO L290 TraceCheckUtils]: 57: Hoare triple {53743#(= main_~s~0 0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:27:03,128 INFO L290 TraceCheckUtils]: 58: Hoare triple {53743#(= main_~s~0 0)} assume !!(#t~post7 < 50);havoc #t~post7; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:27:03,128 INFO L272 TraceCheckUtils]: 59: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,128 INFO L290 TraceCheckUtils]: 60: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:03,128 INFO L290 TraceCheckUtils]: 61: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:03,128 INFO L290 TraceCheckUtils]: 62: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,129 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #86#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:27:03,129 INFO L272 TraceCheckUtils]: 64: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,129 INFO L290 TraceCheckUtils]: 65: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:03,129 INFO L290 TraceCheckUtils]: 66: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:03,129 INFO L290 TraceCheckUtils]: 67: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,130 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #88#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:27:03,130 INFO L272 TraceCheckUtils]: 69: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,130 INFO L290 TraceCheckUtils]: 70: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:03,130 INFO L290 TraceCheckUtils]: 71: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:03,130 INFO L290 TraceCheckUtils]: 72: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,131 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #90#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:27:03,131 INFO L272 TraceCheckUtils]: 74: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,131 INFO L290 TraceCheckUtils]: 75: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:03,131 INFO L290 TraceCheckUtils]: 76: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:03,131 INFO L290 TraceCheckUtils]: 77: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,132 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #92#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:27:03,132 INFO L290 TraceCheckUtils]: 79: Hoare triple {53743#(= main_~s~0 0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:27:03,133 INFO L290 TraceCheckUtils]: 80: Hoare triple {53743#(= main_~s~0 0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:27:03,133 INFO L290 TraceCheckUtils]: 81: Hoare triple {53743#(= main_~s~0 0)} assume !!(#t~post7 < 50);havoc #t~post7; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:27:03,133 INFO L272 TraceCheckUtils]: 82: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,133 INFO L290 TraceCheckUtils]: 83: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:03,133 INFO L290 TraceCheckUtils]: 84: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:03,133 INFO L290 TraceCheckUtils]: 85: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,134 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #86#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:27:03,134 INFO L272 TraceCheckUtils]: 87: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,134 INFO L290 TraceCheckUtils]: 88: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:03,134 INFO L290 TraceCheckUtils]: 89: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:03,134 INFO L290 TraceCheckUtils]: 90: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,135 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {53577#true} {53743#(= main_~s~0 0)} #88#return; {53743#(= main_~s~0 0)} is VALID [2022-04-28 12:27:03,135 INFO L272 TraceCheckUtils]: 92: Hoare triple {53743#(= main_~s~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,135 INFO L290 TraceCheckUtils]: 93: Hoare triple {53577#true} ~cond := #in~cond; {53864#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:27:03,136 INFO L290 TraceCheckUtils]: 94: Hoare triple {53864#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:03,136 INFO L290 TraceCheckUtils]: 95: Hoare triple {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:03,137 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} {53743#(= main_~s~0 0)} #90#return; {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:27:03,137 INFO L272 TraceCheckUtils]: 97: Hoare triple {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,137 INFO L290 TraceCheckUtils]: 98: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:03,137 INFO L290 TraceCheckUtils]: 99: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:03,137 INFO L290 TraceCheckUtils]: 100: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,138 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {53577#true} {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #92#return; {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:27:03,138 INFO L290 TraceCheckUtils]: 102: Hoare triple {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:27:03,139 INFO L290 TraceCheckUtils]: 103: Hoare triple {53875#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:27:03,139 INFO L290 TraceCheckUtils]: 104: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:27:03,140 INFO L290 TraceCheckUtils]: 105: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:27:03,140 INFO L290 TraceCheckUtils]: 106: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:27:03,140 INFO L290 TraceCheckUtils]: 107: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:27:03,141 INFO L290 TraceCheckUtils]: 108: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} assume !!(#t~post7 < 50);havoc #t~post7; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:27:03,141 INFO L272 TraceCheckUtils]: 109: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:03,141 INFO L290 TraceCheckUtils]: 110: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:03,141 INFO L290 TraceCheckUtils]: 111: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:03,141 INFO L290 TraceCheckUtils]: 112: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:03,142 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {53577#true} {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} #86#return; {53897#(and (= main_~r~0 0) (= main_~a~0 (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:27:03,142 INFO L272 TraceCheckUtils]: 114: Hoare triple {53897#(and (= main_~r~0 0) (= main_~a~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)); {53931#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:27:03,143 INFO L290 TraceCheckUtils]: 115: Hoare triple {53931#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {53935#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:27:03,143 INFO L290 TraceCheckUtils]: 116: Hoare triple {53935#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {53578#false} is VALID [2022-04-28 12:27:03,143 INFO L290 TraceCheckUtils]: 117: Hoare triple {53578#false} assume !false; {53578#false} is VALID [2022-04-28 12:27:03,144 INFO L134 CoverageAnalysis]: Checked inductivity of 405 backedges. 57 proven. 43 refuted. 0 times theorem prover too weak. 305 trivial. 0 not checked. [2022-04-28 12:27:03,144 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:27:21,958 INFO L290 TraceCheckUtils]: 117: Hoare triple {53578#false} assume !false; {53578#false} is VALID [2022-04-28 12:27:21,959 INFO L290 TraceCheckUtils]: 116: Hoare triple {53935#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {53578#false} is VALID [2022-04-28 12:27:21,959 INFO L290 TraceCheckUtils]: 115: Hoare triple {53931#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {53935#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:27:21,960 INFO L272 TraceCheckUtils]: 114: Hoare triple {53951#(= 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)); {53931#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:27:21,960 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {53577#true} {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #86#return; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:27:21,961 INFO L290 TraceCheckUtils]: 112: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,961 INFO L290 TraceCheckUtils]: 111: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:21,961 INFO L290 TraceCheckUtils]: 110: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:21,961 INFO L272 TraceCheckUtils]: 109: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,961 INFO L290 TraceCheckUtils]: 108: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post7 < 50);havoc #t~post7; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:27:21,961 INFO L290 TraceCheckUtils]: 107: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:27:21,962 INFO L290 TraceCheckUtils]: 106: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:27:21,962 INFO L290 TraceCheckUtils]: 105: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:27:21,962 INFO L290 TraceCheckUtils]: 104: Hoare triple {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:27:21,963 INFO L290 TraceCheckUtils]: 103: Hoare triple {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {53951#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:27:21,963 INFO L290 TraceCheckUtils]: 102: Hoare triple {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:27:21,964 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {53577#true} {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #92#return; {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:27:21,964 INFO L290 TraceCheckUtils]: 100: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,964 INFO L290 TraceCheckUtils]: 99: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:21,964 INFO L290 TraceCheckUtils]: 98: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:21,964 INFO L272 TraceCheckUtils]: 97: Hoare triple {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,965 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} {53577#true} #90#return; {53985#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:27:21,965 INFO L290 TraceCheckUtils]: 95: Hoare triple {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:21,965 INFO L290 TraceCheckUtils]: 94: Hoare triple {54016#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {53868#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:21,965 INFO L290 TraceCheckUtils]: 93: Hoare triple {53577#true} ~cond := #in~cond; {54016#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:27:21,966 INFO L272 TraceCheckUtils]: 92: Hoare triple {53577#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,966 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {53577#true} {53577#true} #88#return; {53577#true} is VALID [2022-04-28 12:27:21,966 INFO L290 TraceCheckUtils]: 90: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,966 INFO L290 TraceCheckUtils]: 89: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:21,966 INFO L290 TraceCheckUtils]: 88: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:21,966 INFO L272 TraceCheckUtils]: 87: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,966 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {53577#true} {53577#true} #86#return; {53577#true} is VALID [2022-04-28 12:27:21,966 INFO L290 TraceCheckUtils]: 85: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,966 INFO L290 TraceCheckUtils]: 84: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:21,966 INFO L290 TraceCheckUtils]: 83: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:21,966 INFO L272 TraceCheckUtils]: 82: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,966 INFO L290 TraceCheckUtils]: 81: Hoare triple {53577#true} assume !!(#t~post7 < 50);havoc #t~post7; {53577#true} is VALID [2022-04-28 12:27:21,966 INFO L290 TraceCheckUtils]: 80: Hoare triple {53577#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53577#true} is VALID [2022-04-28 12:27:21,966 INFO L290 TraceCheckUtils]: 79: Hoare triple {53577#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {53577#true} is VALID [2022-04-28 12:27:21,966 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {53577#true} {53577#true} #92#return; {53577#true} is VALID [2022-04-28 12:27:21,967 INFO L290 TraceCheckUtils]: 77: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,967 INFO L290 TraceCheckUtils]: 76: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:21,967 INFO L290 TraceCheckUtils]: 75: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:21,967 INFO L272 TraceCheckUtils]: 74: Hoare triple {53577#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,967 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {53577#true} {53577#true} #90#return; {53577#true} is VALID [2022-04-28 12:27:21,967 INFO L290 TraceCheckUtils]: 72: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,967 INFO L290 TraceCheckUtils]: 71: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:21,967 INFO L290 TraceCheckUtils]: 70: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:21,967 INFO L272 TraceCheckUtils]: 69: Hoare triple {53577#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,967 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {53577#true} {53577#true} #88#return; {53577#true} is VALID [2022-04-28 12:27:21,967 INFO L290 TraceCheckUtils]: 67: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,967 INFO L290 TraceCheckUtils]: 66: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:21,967 INFO L290 TraceCheckUtils]: 65: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:21,967 INFO L272 TraceCheckUtils]: 64: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,967 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {53577#true} {53577#true} #86#return; {53577#true} is VALID [2022-04-28 12:27:21,968 INFO L290 TraceCheckUtils]: 62: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,968 INFO L290 TraceCheckUtils]: 61: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:21,968 INFO L290 TraceCheckUtils]: 60: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:21,968 INFO L272 TraceCheckUtils]: 59: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,968 INFO L290 TraceCheckUtils]: 58: Hoare triple {53577#true} assume !!(#t~post7 < 50);havoc #t~post7; {53577#true} is VALID [2022-04-28 12:27:21,968 INFO L290 TraceCheckUtils]: 57: Hoare triple {53577#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53577#true} is VALID [2022-04-28 12:27:21,968 INFO L290 TraceCheckUtils]: 56: Hoare triple {53577#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53577#true} is VALID [2022-04-28 12:27:21,968 INFO L290 TraceCheckUtils]: 55: Hoare triple {53577#true} assume !!(#t~post6 < 50);havoc #t~post6; {53577#true} is VALID [2022-04-28 12:27:21,968 INFO L290 TraceCheckUtils]: 54: Hoare triple {53577#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53577#true} is VALID [2022-04-28 12:27:21,968 INFO L290 TraceCheckUtils]: 53: Hoare triple {53577#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {53577#true} is VALID [2022-04-28 12:27:21,968 INFO L290 TraceCheckUtils]: 52: Hoare triple {53577#true} assume !(~c~0 >= ~b~0); {53577#true} is VALID [2022-04-28 12:27:21,969 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {53577#true} {53577#true} #92#return; {53577#true} is VALID [2022-04-28 12:27:21,969 INFO L290 TraceCheckUtils]: 50: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,969 INFO L290 TraceCheckUtils]: 49: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:21,969 INFO L290 TraceCheckUtils]: 48: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:21,969 INFO L272 TraceCheckUtils]: 47: Hoare triple {53577#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,969 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {53577#true} {53577#true} #90#return; {53577#true} is VALID [2022-04-28 12:27:21,969 INFO L290 TraceCheckUtils]: 45: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,969 INFO L290 TraceCheckUtils]: 44: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:21,969 INFO L290 TraceCheckUtils]: 43: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:21,969 INFO L272 TraceCheckUtils]: 42: Hoare triple {53577#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,969 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {53577#true} {53577#true} #88#return; {53577#true} is VALID [2022-04-28 12:27:21,970 INFO L290 TraceCheckUtils]: 40: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,970 INFO L290 TraceCheckUtils]: 39: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:21,970 INFO L290 TraceCheckUtils]: 38: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:21,970 INFO L272 TraceCheckUtils]: 37: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,970 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {53577#true} {53577#true} #86#return; {53577#true} is VALID [2022-04-28 12:27:21,970 INFO L290 TraceCheckUtils]: 35: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,970 INFO L290 TraceCheckUtils]: 34: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:21,970 INFO L290 TraceCheckUtils]: 33: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:21,970 INFO L272 TraceCheckUtils]: 32: Hoare triple {53577#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,970 INFO L290 TraceCheckUtils]: 31: Hoare triple {53577#true} assume !!(#t~post7 < 50);havoc #t~post7; {53577#true} is VALID [2022-04-28 12:27:21,970 INFO L290 TraceCheckUtils]: 30: Hoare triple {53577#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {53577#true} is VALID [2022-04-28 12:27:21,970 INFO L290 TraceCheckUtils]: 29: Hoare triple {53577#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {53577#true} is VALID [2022-04-28 12:27:21,970 INFO L290 TraceCheckUtils]: 28: Hoare triple {53577#true} assume !!(#t~post6 < 50);havoc #t~post6; {53577#true} is VALID [2022-04-28 12:27:21,970 INFO L290 TraceCheckUtils]: 27: Hoare triple {53577#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {53577#true} is VALID [2022-04-28 12:27:21,971 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {53577#true} {53577#true} #84#return; {53577#true} is VALID [2022-04-28 12:27:21,971 INFO L290 TraceCheckUtils]: 25: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,971 INFO L290 TraceCheckUtils]: 24: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:21,971 INFO L290 TraceCheckUtils]: 23: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:21,971 INFO L272 TraceCheckUtils]: 22: Hoare triple {53577#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,971 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {53577#true} {53577#true} #82#return; {53577#true} is VALID [2022-04-28 12:27:21,971 INFO L290 TraceCheckUtils]: 20: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,971 INFO L290 TraceCheckUtils]: 19: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:21,971 INFO L290 TraceCheckUtils]: 18: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:21,971 INFO L272 TraceCheckUtils]: 17: Hoare triple {53577#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,971 INFO L290 TraceCheckUtils]: 16: Hoare triple {53577#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {53577#true} is VALID [2022-04-28 12:27:21,971 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {53577#true} {53577#true} #80#return; {53577#true} is VALID [2022-04-28 12:27:21,971 INFO L290 TraceCheckUtils]: 14: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,971 INFO L290 TraceCheckUtils]: 13: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:21,971 INFO L290 TraceCheckUtils]: 12: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:21,972 INFO L272 TraceCheckUtils]: 11: Hoare triple {53577#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,972 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53577#true} {53577#true} #78#return; {53577#true} is VALID [2022-04-28 12:27:21,972 INFO L290 TraceCheckUtils]: 9: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,972 INFO L290 TraceCheckUtils]: 8: Hoare triple {53577#true} assume !(0 == ~cond); {53577#true} is VALID [2022-04-28 12:27:21,972 INFO L290 TraceCheckUtils]: 7: Hoare triple {53577#true} ~cond := #in~cond; {53577#true} is VALID [2022-04-28 12:27:21,972 INFO L272 TraceCheckUtils]: 6: Hoare triple {53577#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {53577#true} is VALID [2022-04-28 12:27:21,972 INFO L290 TraceCheckUtils]: 5: Hoare triple {53577#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {53577#true} is VALID [2022-04-28 12:27:21,972 INFO L272 TraceCheckUtils]: 4: Hoare triple {53577#true} call #t~ret8 := main(); {53577#true} is VALID [2022-04-28 12:27:21,972 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53577#true} {53577#true} #98#return; {53577#true} is VALID [2022-04-28 12:27:21,972 INFO L290 TraceCheckUtils]: 2: Hoare triple {53577#true} assume true; {53577#true} is VALID [2022-04-28 12:27:21,972 INFO L290 TraceCheckUtils]: 1: Hoare triple {53577#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {53577#true} is VALID [2022-04-28 12:27:21,972 INFO L272 TraceCheckUtils]: 0: Hoare triple {53577#true} call ULTIMATE.init(); {53577#true} is VALID [2022-04-28 12:27:21,973 INFO L134 CoverageAnalysis]: Checked inductivity of 405 backedges. 78 proven. 7 refuted. 0 times theorem prover too weak. 320 trivial. 0 not checked. [2022-04-28 12:27:21,973 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:27:21,973 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [55846887] [2022-04-28 12:27:21,973 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:27:21,973 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [773520731] [2022-04-28 12:27:21,973 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [773520731] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:27:21,973 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:27:21,973 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 14 [2022-04-28 12:27:21,973 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:27:21,973 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1457165982] [2022-04-28 12:27:21,973 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1457165982] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:27:21,973 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:27:21,973 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:27:21,974 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1894387857] [2022-04-28 12:27:21,974 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:27:21,974 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 118 [2022-04-28 12:27:21,974 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:27:21,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:27:22,032 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:27:22,032 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:27:22,032 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:27:22,033 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:27:22,033 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=149, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:27:22,033 INFO L87 Difference]: Start difference. First operand 553 states and 692 transitions. Second operand has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:27:24,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:27:24,599 INFO L93 Difference]: Finished difference Result 606 states and 774 transitions. [2022-04-28 12:27:24,599 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:27:24,599 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 118 [2022-04-28 12:27:24,599 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:27:24,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:27:24,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 127 transitions. [2022-04-28 12:27:24,601 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:27:24,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 127 transitions. [2022-04-28 12:27:24,602 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 127 transitions. [2022-04-28 12:27:24,732 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:27:24,748 INFO L225 Difference]: With dead ends: 606 [2022-04-28 12:27:24,748 INFO L226 Difference]: Without dead ends: 603 [2022-04-28 12:27:24,748 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 239 GetRequests, 222 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:27:24,749 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 33 mSDsluCounter, 287 mSDsCounter, 0 mSdLazyCounter, 393 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 344 SdHoareTripleChecker+Invalid, 423 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 393 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:27:24,749 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 344 Invalid, 423 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 393 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:27:24,749 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 603 states. [2022-04-28 12:27:25,993 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 603 to 596. [2022-04-28 12:27:25,993 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:27:25,994 INFO L82 GeneralOperation]: Start isEquivalent. First operand 603 states. Second operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) [2022-04-28 12:27:25,995 INFO L74 IsIncluded]: Start isIncluded. First operand 603 states. Second operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) [2022-04-28 12:27:25,995 INFO L87 Difference]: Start difference. First operand 603 states. Second operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) [2022-04-28 12:27:26,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:27:26,008 INFO L93 Difference]: Finished difference Result 603 states and 770 transitions. [2022-04-28 12:27:26,008 INFO L276 IsEmpty]: Start isEmpty. Operand 603 states and 770 transitions. [2022-04-28 12:27:26,009 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:27:26,009 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:27:26,009 INFO L74 IsIncluded]: Start isIncluded. First operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) Second operand 603 states. [2022-04-28 12:27:26,010 INFO L87 Difference]: Start difference. First operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) Second operand 603 states. [2022-04-28 12:27:26,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:27:26,028 INFO L93 Difference]: Finished difference Result 603 states and 770 transitions. [2022-04-28 12:27:26,028 INFO L276 IsEmpty]: Start isEmpty. Operand 603 states and 770 transitions. [2022-04-28 12:27:26,030 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:27:26,030 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:27:26,030 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:27:26,030 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:27:26,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 596 states, 386 states have (on average 1.2098445595854923) internal successors, (467), 393 states have internal predecessors, (467), 150 states have call successors, (150), 60 states have call predecessors, (150), 59 states have return successors, (146), 142 states have call predecessors, (146), 146 states have call successors, (146) [2022-04-28 12:27:26,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 596 states to 596 states and 763 transitions. [2022-04-28 12:27:26,063 INFO L78 Accepts]: Start accepts. Automaton has 596 states and 763 transitions. Word has length 118 [2022-04-28 12:27:26,063 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:27:26,063 INFO L495 AbstractCegarLoop]: Abstraction has 596 states and 763 transitions. [2022-04-28 12:27:26,063 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.272727272727273) internal successors, (36), 10 states have internal predecessors, (36), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:27:26,063 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 596 states and 763 transitions. [2022-04-28 12:27:27,334 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 763 edges. 763 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:27:27,334 INFO L276 IsEmpty]: Start isEmpty. Operand 596 states and 763 transitions. [2022-04-28 12:27:27,335 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 125 [2022-04-28 12:27:27,335 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:27:27,335 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:27:27,353 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Forceful destruction successful, exit code 0 [2022-04-28 12:27:27,539 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 31 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable30 [2022-04-28 12:27:27,539 INFO L420 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:27:27,539 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:27:27,540 INFO L85 PathProgramCache]: Analyzing trace with hash 992936989, now seen corresponding path program 5 times [2022-04-28 12:27:27,540 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:27:27,540 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2092727985] [2022-04-28 12:27:27,540 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:27:27,540 INFO L85 PathProgramCache]: Analyzing trace with hash 992936989, now seen corresponding path program 6 times [2022-04-28 12:27:27,540 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:27:27,540 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1120186504] [2022-04-28 12:27:27,540 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:27:27,540 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:27:27,550 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:27:27,550 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [117462167] [2022-04-28 12:27:27,550 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:27:27,550 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:27:27,550 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:27:27,551 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:27:27,574 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Waiting until timeout for monitored process [2022-04-28 12:27:27,902 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:27:27,903 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:27:27,904 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 12:27:27,925 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:27:27,926 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:27:46,957 INFO L272 TraceCheckUtils]: 0: Hoare triple {57916#true} call ULTIMATE.init(); {57916#true} is VALID [2022-04-28 12:27:46,958 INFO L290 TraceCheckUtils]: 1: Hoare triple {57916#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {57916#true} is VALID [2022-04-28 12:27:46,958 INFO L290 TraceCheckUtils]: 2: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,958 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57916#true} {57916#true} #98#return; {57916#true} is VALID [2022-04-28 12:27:46,958 INFO L272 TraceCheckUtils]: 4: Hoare triple {57916#true} call #t~ret8 := main(); {57916#true} is VALID [2022-04-28 12:27:46,958 INFO L290 TraceCheckUtils]: 5: Hoare triple {57916#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {57916#true} is VALID [2022-04-28 12:27:46,958 INFO L272 TraceCheckUtils]: 6: Hoare triple {57916#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,958 INFO L290 TraceCheckUtils]: 7: Hoare triple {57916#true} ~cond := #in~cond; {57942#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:27:46,959 INFO L290 TraceCheckUtils]: 8: Hoare triple {57942#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {57946#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:27:46,959 INFO L290 TraceCheckUtils]: 9: Hoare triple {57946#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {57946#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:27:46,959 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {57946#(not (= |assume_abort_if_not_#in~cond| 0))} {57916#true} #78#return; {57953#(<= 1 main_~x~0)} is VALID [2022-04-28 12:27:46,959 INFO L272 TraceCheckUtils]: 11: Hoare triple {57953#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,960 INFO L290 TraceCheckUtils]: 12: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:27:46,960 INFO L290 TraceCheckUtils]: 13: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:27:46,960 INFO L290 TraceCheckUtils]: 14: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,960 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {57916#true} {57953#(<= 1 main_~x~0)} #80#return; {57953#(<= 1 main_~x~0)} is VALID [2022-04-28 12:27:46,960 INFO L290 TraceCheckUtils]: 16: Hoare triple {57953#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,961 INFO L272 TraceCheckUtils]: 17: Hoare triple {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,961 INFO L290 TraceCheckUtils]: 18: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:27:46,961 INFO L290 TraceCheckUtils]: 19: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:27:46,961 INFO L290 TraceCheckUtils]: 20: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,961 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {57916#true} {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #82#return; {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,961 INFO L272 TraceCheckUtils]: 22: Hoare triple {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,962 INFO L290 TraceCheckUtils]: 23: Hoare triple {57916#true} ~cond := #in~cond; {57942#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:27:46,962 INFO L290 TraceCheckUtils]: 24: Hoare triple {57942#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {57946#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:27:46,962 INFO L290 TraceCheckUtils]: 25: Hoare triple {57946#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {57946#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:27:46,963 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {57946#(not (= |assume_abort_if_not_#in~cond| 0))} {57972#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #84#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,964 INFO L290 TraceCheckUtils]: 27: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,964 INFO L290 TraceCheckUtils]: 28: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,964 INFO L290 TraceCheckUtils]: 29: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,965 INFO L290 TraceCheckUtils]: 30: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,965 INFO L290 TraceCheckUtils]: 31: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,965 INFO L272 TraceCheckUtils]: 32: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,965 INFO L290 TraceCheckUtils]: 33: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:27:46,966 INFO L290 TraceCheckUtils]: 34: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:27:46,966 INFO L290 TraceCheckUtils]: 35: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,966 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #86#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,966 INFO L272 TraceCheckUtils]: 37: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,966 INFO L290 TraceCheckUtils]: 38: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:27:46,967 INFO L290 TraceCheckUtils]: 39: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:27:46,967 INFO L290 TraceCheckUtils]: 40: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,967 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #88#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,967 INFO L272 TraceCheckUtils]: 42: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,967 INFO L290 TraceCheckUtils]: 43: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:27:46,967 INFO L290 TraceCheckUtils]: 44: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:27:46,968 INFO L290 TraceCheckUtils]: 45: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,968 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #90#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,968 INFO L272 TraceCheckUtils]: 47: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,968 INFO L290 TraceCheckUtils]: 48: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:27:46,968 INFO L290 TraceCheckUtils]: 49: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:27:46,968 INFO L290 TraceCheckUtils]: 50: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,969 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #92#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,970 INFO L290 TraceCheckUtils]: 52: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,970 INFO L290 TraceCheckUtils]: 53: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,970 INFO L290 TraceCheckUtils]: 54: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,970 INFO L272 TraceCheckUtils]: 55: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,971 INFO L290 TraceCheckUtils]: 56: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:27:46,971 INFO L290 TraceCheckUtils]: 57: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:27:46,971 INFO L290 TraceCheckUtils]: 58: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,971 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #86#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,971 INFO L272 TraceCheckUtils]: 60: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,972 INFO L290 TraceCheckUtils]: 61: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:27:46,972 INFO L290 TraceCheckUtils]: 62: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:27:46,972 INFO L290 TraceCheckUtils]: 63: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,972 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #88#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,972 INFO L272 TraceCheckUtils]: 65: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,972 INFO L290 TraceCheckUtils]: 66: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:27:46,973 INFO L290 TraceCheckUtils]: 67: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:27:46,973 INFO L290 TraceCheckUtils]: 68: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,973 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #90#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,973 INFO L272 TraceCheckUtils]: 70: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,973 INFO L290 TraceCheckUtils]: 71: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:27:46,973 INFO L290 TraceCheckUtils]: 72: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:27:46,973 INFO L290 TraceCheckUtils]: 73: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,974 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {57916#true} {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #92#return; {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,975 INFO L290 TraceCheckUtils]: 75: Hoare triple {58003#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,976 INFO L290 TraceCheckUtils]: 76: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,976 INFO L290 TraceCheckUtils]: 77: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,976 INFO L272 TraceCheckUtils]: 78: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,977 INFO L290 TraceCheckUtils]: 79: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:27:46,977 INFO L290 TraceCheckUtils]: 80: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:27:46,977 INFO L290 TraceCheckUtils]: 81: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,977 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {57916#true} {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #86#return; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,977 INFO L272 TraceCheckUtils]: 83: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,978 INFO L290 TraceCheckUtils]: 84: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:27:46,978 INFO L290 TraceCheckUtils]: 85: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:27:46,978 INFO L290 TraceCheckUtils]: 86: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,978 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {57916#true} {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #88#return; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,978 INFO L272 TraceCheckUtils]: 88: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,978 INFO L290 TraceCheckUtils]: 89: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:27:46,979 INFO L290 TraceCheckUtils]: 90: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:27:46,979 INFO L290 TraceCheckUtils]: 91: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,979 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {57916#true} {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #90#return; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,979 INFO L272 TraceCheckUtils]: 93: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,979 INFO L290 TraceCheckUtils]: 94: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:27:46,979 INFO L290 TraceCheckUtils]: 95: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:27:46,980 INFO L290 TraceCheckUtils]: 96: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,980 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {57916#true} {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} #92#return; {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,981 INFO L290 TraceCheckUtils]: 98: Hoare triple {58151#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {58221#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (not (<= main_~y~0 main_~c~0)) (<= 0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} is VALID [2022-04-28 12:27:46,981 INFO L290 TraceCheckUtils]: 99: Hoare triple {58221#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (not (<= main_~y~0 main_~c~0)) (<= 0 main_~c~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:27:46,982 INFO L290 TraceCheckUtils]: 100: Hoare triple {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:27:46,982 INFO L290 TraceCheckUtils]: 101: Hoare triple {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} assume !!(#t~post6 < 50);havoc #t~post6; {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:27:46,982 INFO L290 TraceCheckUtils]: 102: Hoare triple {58225#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:27:46,983 INFO L290 TraceCheckUtils]: 103: Hoare triple {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:27:46,983 INFO L290 TraceCheckUtils]: 104: Hoare triple {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} assume !!(#t~post7 < 50);havoc #t~post7; {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:27:46,983 INFO L272 TraceCheckUtils]: 105: Hoare triple {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,983 INFO L290 TraceCheckUtils]: 106: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:27:46,984 INFO L290 TraceCheckUtils]: 107: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:27:46,984 INFO L290 TraceCheckUtils]: 108: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,984 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {57916#true} {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} #86#return; {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:27:46,984 INFO L272 TraceCheckUtils]: 110: Hoare triple {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,984 INFO L290 TraceCheckUtils]: 111: Hoare triple {57916#true} ~cond := #in~cond; {57916#true} is VALID [2022-04-28 12:27:46,984 INFO L290 TraceCheckUtils]: 112: Hoare triple {57916#true} assume !(0 == ~cond); {57916#true} is VALID [2022-04-28 12:27:46,985 INFO L290 TraceCheckUtils]: 113: Hoare triple {57916#true} assume true; {57916#true} is VALID [2022-04-28 12:27:46,985 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {57916#true} {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} #88#return; {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:27:46,985 INFO L272 TraceCheckUtils]: 115: Hoare triple {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {57916#true} is VALID [2022-04-28 12:27:46,985 INFO L290 TraceCheckUtils]: 116: Hoare triple {57916#true} ~cond := #in~cond; {58278#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:27:46,986 INFO L290 TraceCheckUtils]: 117: Hoare triple {58278#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {58282#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:46,986 INFO L290 TraceCheckUtils]: 118: Hoare triple {58282#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {58282#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:46,987 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {58282#(not (= |__VERIFIER_assert_#in~cond| 0))} {58235#(and (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} #90#return; {58289#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} is VALID [2022-04-28 12:27:46,990 INFO L272 TraceCheckUtils]: 120: Hoare triple {58289#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= 1 main_~x~0) (not (<= main_~y~0 main_~b~0)) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (< main_~yy~0 2147483647))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {58293#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:27:46,991 INFO L290 TraceCheckUtils]: 121: Hoare triple {58293#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {58297#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:27:46,991 INFO L290 TraceCheckUtils]: 122: Hoare triple {58297#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {57917#false} is VALID [2022-04-28 12:27:46,991 INFO L290 TraceCheckUtils]: 123: Hoare triple {57917#false} assume !false; {57917#false} is VALID [2022-04-28 12:27:46,992 INFO L134 CoverageAnalysis]: Checked inductivity of 516 backedges. 91 proven. 28 refuted. 0 times theorem prover too weak. 397 trivial. 0 not checked. [2022-04-28 12:27:46,992 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:28:24,137 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:28:24,137 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1120186504] [2022-04-28 12:28:24,137 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:28:24,137 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [117462167] [2022-04-28 12:28:24,137 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [117462167] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:28:24,137 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:28:24,137 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-28 12:28:24,137 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:28:24,137 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2092727985] [2022-04-28 12:28:24,138 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2092727985] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:28:24,138 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:28:24,138 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 12:28:24,138 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1851981818] [2022-04-28 12:28:24,138 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:28:24,138 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 124 [2022-04-28 12:28:24,138 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:28:24,139 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:28:24,222 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:28:24,223 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 12:28:24,223 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:28:24,223 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 12:28:24,223 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=103, Invalid=403, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:28:24,223 INFO L87 Difference]: Start difference. First operand 596 states and 763 transitions. Second operand has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:28:26,451 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.03s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 12:28:41,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:28:41,799 INFO L93 Difference]: Finished difference Result 619 states and 791 transitions. [2022-04-28 12:28:41,799 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 12:28:41,799 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 124 [2022-04-28 12:28:41,799 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:28:41,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:28:41,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 111 transitions. [2022-04-28 12:28:41,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:28:41,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 111 transitions. [2022-04-28 12:28:41,803 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 111 transitions. [2022-04-28 12:28:41,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:28:41,981 INFO L225 Difference]: With dead ends: 619 [2022-04-28 12:28:41,981 INFO L226 Difference]: Without dead ends: 615 [2022-04-28 12:28:41,982 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 177 GetRequests, 151 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 165 ImplicationChecksByTransitivity, 3.6s TimeCoverageRelationStatistics Valid=133, Invalid=569, Unknown=0, NotChecked=0, Total=702 [2022-04-28 12:28:41,982 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 54 mSDsluCounter, 268 mSDsCounter, 0 mSdLazyCounter, 624 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 318 SdHoareTripleChecker+Invalid, 656 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 624 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.8s IncrementalHoareTripleChecker+Time [2022-04-28 12:28:41,982 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [64 Valid, 318 Invalid, 656 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 624 Invalid, 0 Unknown, 0 Unchecked, 4.8s Time] [2022-04-28 12:28:41,983 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 615 states. [2022-04-28 12:28:43,369 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 615 to 609. [2022-04-28 12:28:43,369 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:28:43,370 INFO L82 GeneralOperation]: Start isEquivalent. First operand 615 states. Second operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) [2022-04-28 12:28:43,371 INFO L74 IsIncluded]: Start isIncluded. First operand 615 states. Second operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) [2022-04-28 12:28:43,371 INFO L87 Difference]: Start difference. First operand 615 states. Second operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) [2022-04-28 12:28:43,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:28:43,387 INFO L93 Difference]: Finished difference Result 615 states and 786 transitions. [2022-04-28 12:28:43,387 INFO L276 IsEmpty]: Start isEmpty. Operand 615 states and 786 transitions. [2022-04-28 12:28:43,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:28:43,388 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:28:43,388 INFO L74 IsIncluded]: Start isIncluded. First operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) Second operand 615 states. [2022-04-28 12:28:43,389 INFO L87 Difference]: Start difference. First operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) Second operand 615 states. [2022-04-28 12:28:43,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:28:43,402 INFO L93 Difference]: Finished difference Result 615 states and 786 transitions. [2022-04-28 12:28:43,402 INFO L276 IsEmpty]: Start isEmpty. Operand 615 states and 786 transitions. [2022-04-28 12:28:43,403 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:28:43,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:28:43,403 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:28:43,403 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:28:43,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 609 states, 394 states have (on average 1.2081218274111676) internal successors, (476), 400 states have internal predecessors, (476), 154 states have call successors, (154), 62 states have call predecessors, (154), 60 states have return successors, (150), 146 states have call predecessors, (150), 150 states have call successors, (150) [2022-04-28 12:28:43,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 609 states to 609 states and 780 transitions. [2022-04-28 12:28:43,422 INFO L78 Accepts]: Start accepts. Automaton has 609 states and 780 transitions. Word has length 124 [2022-04-28 12:28:43,422 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:28:43,422 INFO L495 AbstractCegarLoop]: Abstraction has 609 states and 780 transitions. [2022-04-28 12:28:43,423 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.5) internal successors, (35), 13 states have internal predecessors, (35), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 12:28:43,423 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 609 states and 780 transitions. [2022-04-28 12:28:44,961 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 780 edges. 780 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:28:44,962 INFO L276 IsEmpty]: Start isEmpty. Operand 609 states and 780 transitions. [2022-04-28 12:28:44,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 124 [2022-04-28 12:28:44,962 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:28:44,962 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 4, 4, 4, 4, 4, 4, 4, 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] [2022-04-28 12:28:44,971 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Forceful destruction successful, exit code 0 [2022-04-28 12:28:45,163 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable31,32 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:28:45,164 INFO L420 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:28:45,164 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:28:45,164 INFO L85 PathProgramCache]: Analyzing trace with hash -1110867224, now seen corresponding path program 7 times [2022-04-28 12:28:45,164 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:28:45,164 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [904748002] [2022-04-28 12:28:45,167 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:28:45,167 INFO L85 PathProgramCache]: Analyzing trace with hash -1110867224, now seen corresponding path program 8 times [2022-04-28 12:28:45,167 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:28:45,167 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1279232607] [2022-04-28 12:28:45,168 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:28:45,169 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:28:45,182 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:28:45,183 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [631876076] [2022-04-28 12:28:45,183 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:28:45,183 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:28:45,183 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:28:45,184 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:28:45,189 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Waiting until timeout for monitored process [2022-04-28 12:28:45,252 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:28:45,252 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:28:45,254 INFO L263 TraceCheckSpWp]: Trace formula consists of 331 conjuncts, 71 conjunts are in the unsatisfiable core [2022-04-28 12:28:45,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:28:45,274 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:29:04,997 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:29:11,155 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:29:11,440 INFO L272 TraceCheckUtils]: 0: Hoare triple {62154#true} call ULTIMATE.init(); {62154#true} is VALID [2022-04-28 12:29:11,441 INFO L290 TraceCheckUtils]: 1: Hoare triple {62154#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {62154#true} is VALID [2022-04-28 12:29:11,441 INFO L290 TraceCheckUtils]: 2: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:29:11,441 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {62154#true} {62154#true} #98#return; {62154#true} is VALID [2022-04-28 12:29:11,441 INFO L272 TraceCheckUtils]: 4: Hoare triple {62154#true} call #t~ret8 := main(); {62154#true} is VALID [2022-04-28 12:29:11,441 INFO L290 TraceCheckUtils]: 5: Hoare triple {62154#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {62154#true} is VALID [2022-04-28 12:29:11,441 INFO L272 TraceCheckUtils]: 6: Hoare triple {62154#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,441 INFO L290 TraceCheckUtils]: 7: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:29:11,441 INFO L290 TraceCheckUtils]: 8: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:29:11,441 INFO L290 TraceCheckUtils]: 9: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:29:11,441 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {62154#true} {62154#true} #78#return; {62154#true} is VALID [2022-04-28 12:29:11,441 INFO L272 TraceCheckUtils]: 11: Hoare triple {62154#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,441 INFO L290 TraceCheckUtils]: 12: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:29:11,441 INFO L290 TraceCheckUtils]: 13: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:29:11,441 INFO L290 TraceCheckUtils]: 14: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:29:11,441 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {62154#true} {62154#true} #80#return; {62154#true} is VALID [2022-04-28 12:29:11,442 INFO L290 TraceCheckUtils]: 16: Hoare triple {62154#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:29:11,442 INFO L272 TraceCheckUtils]: 17: Hoare triple {62207#(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))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,442 INFO L290 TraceCheckUtils]: 18: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:29:11,442 INFO L290 TraceCheckUtils]: 19: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:29:11,442 INFO L290 TraceCheckUtils]: 20: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:29:11,443 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {62154#true} {62207#(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))} #82#return; {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:29:11,443 INFO L272 TraceCheckUtils]: 22: Hoare triple {62207#(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))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,443 INFO L290 TraceCheckUtils]: 23: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:29:11,443 INFO L290 TraceCheckUtils]: 24: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:29:11,443 INFO L290 TraceCheckUtils]: 25: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:29:11,444 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {62154#true} {62207#(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))} #84#return; {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:29:11,444 INFO L290 TraceCheckUtils]: 27: Hoare triple {62207#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:29:11,444 INFO L290 TraceCheckUtils]: 28: Hoare triple {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 50);havoc #t~post6; {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:29:11,445 INFO L290 TraceCheckUtils]: 29: Hoare triple {62207#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:29:11,445 INFO L290 TraceCheckUtils]: 30: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:29:11,446 INFO L290 TraceCheckUtils]: 31: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !!(#t~post7 < 50);havoc #t~post7; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:29:11,446 INFO L272 TraceCheckUtils]: 32: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,446 INFO L290 TraceCheckUtils]: 33: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:29:11,446 INFO L290 TraceCheckUtils]: 34: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:29:11,446 INFO L290 TraceCheckUtils]: 35: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:29:11,447 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {62154#true} {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #86#return; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:29:11,447 INFO L272 TraceCheckUtils]: 37: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,447 INFO L290 TraceCheckUtils]: 38: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:29:11,447 INFO L290 TraceCheckUtils]: 39: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:29:11,447 INFO L290 TraceCheckUtils]: 40: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:29:11,447 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {62154#true} {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #88#return; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:29:11,448 INFO L272 TraceCheckUtils]: 42: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,448 INFO L290 TraceCheckUtils]: 43: Hoare triple {62154#true} ~cond := #in~cond; {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:29:11,448 INFO L290 TraceCheckUtils]: 44: Hoare triple {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:11,448 INFO L290 TraceCheckUtils]: 45: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:11,449 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #90#return; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:29:11,449 INFO L272 TraceCheckUtils]: 47: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,449 INFO L290 TraceCheckUtils]: 48: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:29:11,449 INFO L290 TraceCheckUtils]: 49: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:29:11,449 INFO L290 TraceCheckUtils]: 50: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:29:11,450 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {62154#true} {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #92#return; {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:29:11,450 INFO L290 TraceCheckUtils]: 52: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:29:11,451 INFO L290 TraceCheckUtils]: 53: Hoare triple {62247#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:29:11,451 INFO L290 TraceCheckUtils]: 54: Hoare triple {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:29:11,452 INFO L290 TraceCheckUtils]: 55: Hoare triple {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(#t~post6 < 50);havoc #t~post6; {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:29:11,452 INFO L290 TraceCheckUtils]: 56: Hoare triple {62322#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:29:11,452 INFO L290 TraceCheckUtils]: 57: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:29:11,453 INFO L290 TraceCheckUtils]: 58: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(#t~post7 < 50);havoc #t~post7; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:29:11,453 INFO L272 TraceCheckUtils]: 59: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,453 INFO L290 TraceCheckUtils]: 60: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:29:11,453 INFO L290 TraceCheckUtils]: 61: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:29:11,453 INFO L290 TraceCheckUtils]: 62: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:29:11,454 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {62154#true} {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #86#return; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:29:11,454 INFO L272 TraceCheckUtils]: 64: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,454 INFO L290 TraceCheckUtils]: 65: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:29:11,454 INFO L290 TraceCheckUtils]: 66: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:29:11,454 INFO L290 TraceCheckUtils]: 67: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:29:11,455 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {62154#true} {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #88#return; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:29:11,455 INFO L272 TraceCheckUtils]: 69: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,455 INFO L290 TraceCheckUtils]: 70: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:29:11,455 INFO L290 TraceCheckUtils]: 71: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:29:11,455 INFO L290 TraceCheckUtils]: 72: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:29:11,456 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {62154#true} {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #90#return; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:29:11,456 INFO L272 TraceCheckUtils]: 74: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,456 INFO L290 TraceCheckUtils]: 75: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:29:11,456 INFO L290 TraceCheckUtils]: 76: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:29:11,456 INFO L290 TraceCheckUtils]: 77: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:29:11,457 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {62154#true} {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #92#return; {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 12:29:11,457 INFO L290 TraceCheckUtils]: 79: Hoare triple {62332#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} is VALID [2022-04-28 12:29:11,458 INFO L290 TraceCheckUtils]: 80: Hoare triple {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} is VALID [2022-04-28 12:29:11,458 INFO L290 TraceCheckUtils]: 81: Hoare triple {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} is VALID [2022-04-28 12:29:11,458 INFO L272 TraceCheckUtils]: 82: Hoare triple {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,459 INFO L290 TraceCheckUtils]: 83: Hoare triple {62154#true} ~cond := #in~cond; {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:29:11,459 INFO L290 TraceCheckUtils]: 84: Hoare triple {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:11,459 INFO L290 TraceCheckUtils]: 85: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:11,460 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} #86#return; {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} is VALID [2022-04-28 12:29:11,460 INFO L272 TraceCheckUtils]: 87: Hoare triple {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,460 INFO L290 TraceCheckUtils]: 88: Hoare triple {62154#true} ~cond := #in~cond; {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:29:11,460 INFO L290 TraceCheckUtils]: 89: Hoare triple {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:11,461 INFO L290 TraceCheckUtils]: 90: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:11,462 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62402#(and (= main_~s~0 0) (= main_~p~0 0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~k~0 1))} #88#return; {62439#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:29:11,462 INFO L272 TraceCheckUtils]: 92: Hoare triple {62439#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,462 INFO L290 TraceCheckUtils]: 93: Hoare triple {62154#true} ~cond := #in~cond; {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:29:11,463 INFO L290 TraceCheckUtils]: 94: Hoare triple {62290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:11,463 INFO L290 TraceCheckUtils]: 95: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:11,464 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62439#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #90#return; {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:29:11,464 INFO L272 TraceCheckUtils]: 97: Hoare triple {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,464 INFO L290 TraceCheckUtils]: 98: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:29:11,464 INFO L290 TraceCheckUtils]: 99: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:29:11,464 INFO L290 TraceCheckUtils]: 100: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:29:11,465 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {62154#true} {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} #92#return; {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:29:11,465 INFO L290 TraceCheckUtils]: 102: Hoare triple {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 12:29:11,474 INFO L290 TraceCheckUtils]: 103: Hoare triple {62455#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~y~0 (+ (* main_~q~0 main_~x~0) main_~c~0 (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 12:29:11,476 INFO L290 TraceCheckUtils]: 104: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 12:29:11,477 INFO L290 TraceCheckUtils]: 105: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 12:29:11,478 INFO L290 TraceCheckUtils]: 106: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 12:29:11,479 INFO L290 TraceCheckUtils]: 107: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 12:29:11,480 INFO L290 TraceCheckUtils]: 108: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 12:29:11,480 INFO L272 TraceCheckUtils]: 109: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,480 INFO L290 TraceCheckUtils]: 110: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:29:11,480 INFO L290 TraceCheckUtils]: 111: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:29:11,481 INFO L290 TraceCheckUtils]: 112: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:29:11,481 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {62154#true} {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} #86#return; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 12:29:11,481 INFO L272 TraceCheckUtils]: 114: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:29:11,481 INFO L290 TraceCheckUtils]: 115: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:29:11,481 INFO L290 TraceCheckUtils]: 116: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:29:11,481 INFO L290 TraceCheckUtils]: 117: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:29:11,482 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {62154#true} {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} #88#return; {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} is VALID [2022-04-28 12:29:11,485 INFO L272 TraceCheckUtils]: 119: Hoare triple {62477#(and (or (and (= main_~y~0 (+ main_~b~0 (* (div main_~x~0 main_~x~0) main_~x~0))) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) main_~y~0))) (= main_~s~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62526#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:29:11,486 INFO L290 TraceCheckUtils]: 120: Hoare triple {62526#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {62530#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:29:11,486 INFO L290 TraceCheckUtils]: 121: Hoare triple {62530#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {62155#false} is VALID [2022-04-28 12:29:11,486 INFO L290 TraceCheckUtils]: 122: Hoare triple {62155#false} assume !false; {62155#false} is VALID [2022-04-28 12:29:11,487 INFO L134 CoverageAnalysis]: Checked inductivity of 462 backedges. 93 proven. 101 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-28 12:29:11,487 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:30:44,681 INFO L290 TraceCheckUtils]: 122: Hoare triple {62155#false} assume !false; {62155#false} is VALID [2022-04-28 12:30:44,682 INFO L290 TraceCheckUtils]: 121: Hoare triple {62530#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {62155#false} is VALID [2022-04-28 12:30:44,682 INFO L290 TraceCheckUtils]: 120: Hoare triple {62526#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {62530#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:30:44,683 INFO L272 TraceCheckUtils]: 119: Hoare triple {62546#(= 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)); {62526#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:30:44,684 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {62154#true} {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #88#return; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:30:44,684 INFO L290 TraceCheckUtils]: 117: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:30:44,684 INFO L290 TraceCheckUtils]: 116: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:30:44,684 INFO L290 TraceCheckUtils]: 115: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:30:44,684 INFO L272 TraceCheckUtils]: 114: Hoare triple {62546#(= 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)); {62154#true} is VALID [2022-04-28 12:30:44,684 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {62154#true} {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #86#return; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:30:44,685 INFO L290 TraceCheckUtils]: 112: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:30:44,685 INFO L290 TraceCheckUtils]: 111: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:30:44,685 INFO L290 TraceCheckUtils]: 110: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:30:44,685 INFO L272 TraceCheckUtils]: 109: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:44,685 INFO L290 TraceCheckUtils]: 108: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post7 < 50);havoc #t~post7; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:30:44,685 INFO L290 TraceCheckUtils]: 107: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:30:44,686 INFO L290 TraceCheckUtils]: 106: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:30:44,686 INFO L290 TraceCheckUtils]: 105: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:30:44,686 INFO L290 TraceCheckUtils]: 104: Hoare triple {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:30:45,288 INFO L290 TraceCheckUtils]: 103: Hoare triple {62595#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {62546#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:30:45,289 INFO L290 TraceCheckUtils]: 102: Hoare triple {62595#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} assume !(~c~0 >= ~b~0); {62595#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-28 12:30:45,290 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {62154#true} {62595#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} #92#return; {62595#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-28 12:30:45,290 INFO L290 TraceCheckUtils]: 100: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:30:45,290 INFO L290 TraceCheckUtils]: 99: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:30:45,290 INFO L290 TraceCheckUtils]: 98: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:30:45,290 INFO L272 TraceCheckUtils]: 97: Hoare triple {62595#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:45,291 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62617#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #90#return; {62595#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-28 12:30:45,291 INFO L290 TraceCheckUtils]: 95: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:45,291 INFO L290 TraceCheckUtils]: 94: Hoare triple {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:45,292 INFO L290 TraceCheckUtils]: 93: Hoare triple {62154#true} ~cond := #in~cond; {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:30:45,292 INFO L272 TraceCheckUtils]: 92: Hoare triple {62617#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:45,293 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62634#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #88#return; {62617#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:30:45,293 INFO L290 TraceCheckUtils]: 90: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:45,293 INFO L290 TraceCheckUtils]: 89: Hoare triple {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:45,294 INFO L290 TraceCheckUtils]: 88: Hoare triple {62154#true} ~cond := #in~cond; {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:30:45,294 INFO L272 TraceCheckUtils]: 87: Hoare triple {62634#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:45,353 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} {62154#true} #86#return; {62634#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 12:30:45,354 INFO L290 TraceCheckUtils]: 85: Hoare triple {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:45,354 INFO L290 TraceCheckUtils]: 84: Hoare triple {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {62294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:45,354 INFO L290 TraceCheckUtils]: 83: Hoare triple {62154#true} ~cond := #in~cond; {62627#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:30:45,355 INFO L272 TraceCheckUtils]: 82: Hoare triple {62154#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:45,355 INFO L290 TraceCheckUtils]: 81: Hoare triple {62154#true} assume !!(#t~post7 < 50);havoc #t~post7; {62154#true} is VALID [2022-04-28 12:30:45,355 INFO L290 TraceCheckUtils]: 80: Hoare triple {62154#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62154#true} is VALID [2022-04-28 12:30:45,355 INFO L290 TraceCheckUtils]: 79: Hoare triple {62154#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {62154#true} is VALID [2022-04-28 12:30:45,355 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {62154#true} {62154#true} #92#return; {62154#true} is VALID [2022-04-28 12:30:45,355 INFO L290 TraceCheckUtils]: 77: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:30:45,355 INFO L290 TraceCheckUtils]: 76: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:30:45,355 INFO L290 TraceCheckUtils]: 75: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:30:45,355 INFO L272 TraceCheckUtils]: 74: Hoare triple {62154#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:45,355 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {62154#true} {62154#true} #90#return; {62154#true} is VALID [2022-04-28 12:30:45,356 INFO L290 TraceCheckUtils]: 72: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:30:45,356 INFO L290 TraceCheckUtils]: 71: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:30:45,356 INFO L290 TraceCheckUtils]: 70: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:30:45,356 INFO L272 TraceCheckUtils]: 69: Hoare triple {62154#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:45,356 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {62154#true} {62154#true} #88#return; {62154#true} is VALID [2022-04-28 12:30:45,356 INFO L290 TraceCheckUtils]: 67: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:30:45,356 INFO L290 TraceCheckUtils]: 66: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:30:45,356 INFO L290 TraceCheckUtils]: 65: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:30:45,356 INFO L272 TraceCheckUtils]: 64: Hoare triple {62154#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:45,356 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {62154#true} {62154#true} #86#return; {62154#true} is VALID [2022-04-28 12:30:45,357 INFO L290 TraceCheckUtils]: 62: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:30:45,357 INFO L290 TraceCheckUtils]: 61: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:30:45,357 INFO L290 TraceCheckUtils]: 60: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:30:45,357 INFO L272 TraceCheckUtils]: 59: Hoare triple {62154#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:45,357 INFO L290 TraceCheckUtils]: 58: Hoare triple {62154#true} assume !!(#t~post7 < 50);havoc #t~post7; {62154#true} is VALID [2022-04-28 12:30:45,357 INFO L290 TraceCheckUtils]: 57: Hoare triple {62154#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62154#true} is VALID [2022-04-28 12:30:45,357 INFO L290 TraceCheckUtils]: 56: Hoare triple {62154#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62154#true} is VALID [2022-04-28 12:30:45,357 INFO L290 TraceCheckUtils]: 55: Hoare triple {62154#true} assume !!(#t~post6 < 50);havoc #t~post6; {62154#true} is VALID [2022-04-28 12:30:45,357 INFO L290 TraceCheckUtils]: 54: Hoare triple {62154#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62154#true} is VALID [2022-04-28 12:30:45,357 INFO L290 TraceCheckUtils]: 53: Hoare triple {62154#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {62154#true} is VALID [2022-04-28 12:30:45,358 INFO L290 TraceCheckUtils]: 52: Hoare triple {62154#true} assume !(~c~0 >= ~b~0); {62154#true} is VALID [2022-04-28 12:30:45,358 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {62154#true} {62154#true} #92#return; {62154#true} is VALID [2022-04-28 12:30:45,358 INFO L290 TraceCheckUtils]: 50: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:30:45,358 INFO L290 TraceCheckUtils]: 49: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:30:45,358 INFO L290 TraceCheckUtils]: 48: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:30:45,358 INFO L272 TraceCheckUtils]: 47: Hoare triple {62154#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:45,358 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {62154#true} {62154#true} #90#return; {62154#true} is VALID [2022-04-28 12:30:45,358 INFO L290 TraceCheckUtils]: 45: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:30:45,358 INFO L290 TraceCheckUtils]: 44: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:30:45,358 INFO L290 TraceCheckUtils]: 43: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:30:45,358 INFO L272 TraceCheckUtils]: 42: Hoare triple {62154#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:45,359 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {62154#true} {62154#true} #88#return; {62154#true} is VALID [2022-04-28 12:30:45,359 INFO L290 TraceCheckUtils]: 40: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:30:45,359 INFO L290 TraceCheckUtils]: 39: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:30:45,359 INFO L290 TraceCheckUtils]: 38: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:30:45,359 INFO L272 TraceCheckUtils]: 37: Hoare triple {62154#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:45,359 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {62154#true} {62154#true} #86#return; {62154#true} is VALID [2022-04-28 12:30:45,359 INFO L290 TraceCheckUtils]: 35: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:30:45,359 INFO L290 TraceCheckUtils]: 34: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:30:45,359 INFO L290 TraceCheckUtils]: 33: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:30:45,359 INFO L272 TraceCheckUtils]: 32: Hoare triple {62154#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:45,359 INFO L290 TraceCheckUtils]: 31: Hoare triple {62154#true} assume !!(#t~post7 < 50);havoc #t~post7; {62154#true} is VALID [2022-04-28 12:30:45,360 INFO L290 TraceCheckUtils]: 30: Hoare triple {62154#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {62154#true} is VALID [2022-04-28 12:30:45,360 INFO L290 TraceCheckUtils]: 29: Hoare triple {62154#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {62154#true} is VALID [2022-04-28 12:30:45,360 INFO L290 TraceCheckUtils]: 28: Hoare triple {62154#true} assume !!(#t~post6 < 50);havoc #t~post6; {62154#true} is VALID [2022-04-28 12:30:45,360 INFO L290 TraceCheckUtils]: 27: Hoare triple {62154#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {62154#true} is VALID [2022-04-28 12:30:45,360 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {62154#true} {62154#true} #84#return; {62154#true} is VALID [2022-04-28 12:30:45,360 INFO L290 TraceCheckUtils]: 25: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:30:45,360 INFO L290 TraceCheckUtils]: 24: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:30:45,360 INFO L290 TraceCheckUtils]: 23: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:30:45,360 INFO L272 TraceCheckUtils]: 22: Hoare triple {62154#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:45,360 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {62154#true} {62154#true} #82#return; {62154#true} is VALID [2022-04-28 12:30:45,360 INFO L290 TraceCheckUtils]: 20: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:30:45,361 INFO L290 TraceCheckUtils]: 19: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:30:45,361 INFO L290 TraceCheckUtils]: 18: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:30:45,361 INFO L272 TraceCheckUtils]: 17: Hoare triple {62154#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:45,361 INFO L290 TraceCheckUtils]: 16: Hoare triple {62154#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {62154#true} is VALID [2022-04-28 12:30:45,361 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {62154#true} {62154#true} #80#return; {62154#true} is VALID [2022-04-28 12:30:45,361 INFO L290 TraceCheckUtils]: 14: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:30:45,361 INFO L290 TraceCheckUtils]: 13: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:30:45,361 INFO L290 TraceCheckUtils]: 12: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:30:45,361 INFO L272 TraceCheckUtils]: 11: Hoare triple {62154#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:45,361 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {62154#true} {62154#true} #78#return; {62154#true} is VALID [2022-04-28 12:30:45,361 INFO L290 TraceCheckUtils]: 9: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:30:45,362 INFO L290 TraceCheckUtils]: 8: Hoare triple {62154#true} assume !(0 == ~cond); {62154#true} is VALID [2022-04-28 12:30:45,362 INFO L290 TraceCheckUtils]: 7: Hoare triple {62154#true} ~cond := #in~cond; {62154#true} is VALID [2022-04-28 12:30:45,362 INFO L272 TraceCheckUtils]: 6: Hoare triple {62154#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {62154#true} is VALID [2022-04-28 12:30:45,362 INFO L290 TraceCheckUtils]: 5: Hoare triple {62154#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {62154#true} is VALID [2022-04-28 12:30:45,362 INFO L272 TraceCheckUtils]: 4: Hoare triple {62154#true} call #t~ret8 := main(); {62154#true} is VALID [2022-04-28 12:30:45,362 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {62154#true} {62154#true} #98#return; {62154#true} is VALID [2022-04-28 12:30:45,362 INFO L290 TraceCheckUtils]: 2: Hoare triple {62154#true} assume true; {62154#true} is VALID [2022-04-28 12:30:45,362 INFO L290 TraceCheckUtils]: 1: Hoare triple {62154#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {62154#true} is VALID [2022-04-28 12:30:45,362 INFO L272 TraceCheckUtils]: 0: Hoare triple {62154#true} call ULTIMATE.init(); {62154#true} is VALID [2022-04-28 12:30:45,363 INFO L134 CoverageAnalysis]: Checked inductivity of 462 backedges. 125 proven. 32 refuted. 0 times theorem prover too weak. 305 trivial. 0 not checked. [2022-04-28 12:30:45,363 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:30:45,363 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1279232607] [2022-04-28 12:30:45,363 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:30:45,363 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [631876076] [2022-04-28 12:30:45,363 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [631876076] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:30:45,363 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:30:45,363 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-28 12:30:45,364 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:30:45,364 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [904748002] [2022-04-28 12:30:45,364 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [904748002] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:30:45,364 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:30:45,364 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 12:30:45,364 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [531788223] [2022-04-28 12:30:45,364 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:30:45,364 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) Word has length 123 [2022-04-28 12:30:45,365 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:30:45,365 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 12:30:45,462 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:30:45,462 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 12:30:45,462 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:30:45,463 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 12:30:45,463 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=284, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:30:45,463 INFO L87 Difference]: Start difference. First operand 609 states and 780 transitions. Second operand has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 12:30:49,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:30:49,555 INFO L93 Difference]: Finished difference Result 638 states and 824 transitions. [2022-04-28 12:30:49,555 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:30:49,555 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) Word has length 123 [2022-04-28 12:30:49,555 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:30:49,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 12:30:49,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 138 transitions. [2022-04-28 12:30:49,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 12:30:49,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 138 transitions. [2022-04-28 12:30:49,558 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 138 transitions. [2022-04-28 12:30:49,726 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:30:49,746 INFO L225 Difference]: With dead ends: 638 [2022-04-28 12:30:49,746 INFO L226 Difference]: Without dead ends: 636 [2022-04-28 12:30:49,747 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 249 GetRequests, 226 SyntacticMatches, 2 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=87, Invalid=419, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:30:49,747 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 38 mSDsluCounter, 331 mSDsCounter, 0 mSdLazyCounter, 659 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 389 SdHoareTripleChecker+Invalid, 693 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 659 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:30:49,747 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 389 Invalid, 693 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 659 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 12:30:49,748 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 636 states. [2022-04-28 12:30:51,211 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 636 to 632. [2022-04-28 12:30:51,211 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:30:51,212 INFO L82 GeneralOperation]: Start isEquivalent. First operand 636 states. Second operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) [2022-04-28 12:30:51,212 INFO L74 IsIncluded]: Start isIncluded. First operand 636 states. Second operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) [2022-04-28 12:30:51,213 INFO L87 Difference]: Start difference. First operand 636 states. Second operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) [2022-04-28 12:30:51,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:30:51,230 INFO L93 Difference]: Finished difference Result 636 states and 822 transitions. [2022-04-28 12:30:51,230 INFO L276 IsEmpty]: Start isEmpty. Operand 636 states and 822 transitions. [2022-04-28 12:30:51,231 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:30:51,231 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:30:51,231 INFO L74 IsIncluded]: Start isIncluded. First operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) Second operand 636 states. [2022-04-28 12:30:51,232 INFO L87 Difference]: Start difference. First operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) Second operand 636 states. [2022-04-28 12:30:51,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:30:51,253 INFO L93 Difference]: Finished difference Result 636 states and 822 transitions. [2022-04-28 12:30:51,253 INFO L276 IsEmpty]: Start isEmpty. Operand 636 states and 822 transitions. [2022-04-28 12:30:51,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:30:51,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:30:51,254 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:30:51,255 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:30:51,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 632 states, 404 states have (on average 1.2128712871287128) internal successors, (490), 410 states have internal predecessors, (490), 166 states have call successors, (166), 63 states have call predecessors, (166), 61 states have return successors, (162), 158 states have call predecessors, (162), 162 states have call successors, (162) [2022-04-28 12:30:51,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 632 states to 632 states and 818 transitions. [2022-04-28 12:30:51,279 INFO L78 Accepts]: Start accepts. Automaton has 632 states and 818 transitions. Word has length 123 [2022-04-28 12:30:51,280 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:30:51,280 INFO L495 AbstractCegarLoop]: Abstraction has 632 states and 818 transitions. [2022-04-28 12:30:51,280 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.923076923076923) internal successors, (38), 12 states have internal predecessors, (38), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 12:30:51,280 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 632 states and 818 transitions. [2022-04-28 12:30:52,849 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 818 edges. 818 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:30:52,849 INFO L276 IsEmpty]: Start isEmpty. Operand 632 states and 818 transitions. [2022-04-28 12:30:52,850 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 129 [2022-04-28 12:30:52,850 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:30:52,850 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:30:52,867 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Forceful destruction successful, exit code 0 [2022-04-28 12:30:53,051 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable32,33 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:30:53,051 INFO L420 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:30:53,052 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:30:53,052 INFO L85 PathProgramCache]: Analyzing trace with hash -270396677, now seen corresponding path program 9 times [2022-04-28 12:30:53,052 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:30:53,052 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [385637354] [2022-04-28 12:30:53,052 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:30:53,052 INFO L85 PathProgramCache]: Analyzing trace with hash -270396677, now seen corresponding path program 10 times [2022-04-28 12:30:53,053 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:30:53,053 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [622006474] [2022-04-28 12:30:53,053 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:30:53,053 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:30:53,074 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:30:53,074 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [994655271] [2022-04-28 12:30:53,075 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:30:53,075 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:30:53,075 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:30:53,076 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:30:53,079 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Waiting until timeout for monitored process [2022-04-28 12:30:53,162 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:30:53,162 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:30:53,164 INFO L263 TraceCheckSpWp]: Trace formula consists of 292 conjuncts, 68 conjunts are in the unsatisfiable core [2022-04-28 12:30:53,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:30:53,192 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:30:54,788 INFO L272 TraceCheckUtils]: 0: Hoare triple {66730#true} call ULTIMATE.init(); {66730#true} is VALID [2022-04-28 12:30:54,788 INFO L290 TraceCheckUtils]: 1: Hoare triple {66730#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {66730#true} is VALID [2022-04-28 12:30:54,788 INFO L290 TraceCheckUtils]: 2: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,788 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66730#true} {66730#true} #98#return; {66730#true} is VALID [2022-04-28 12:30:54,789 INFO L272 TraceCheckUtils]: 4: Hoare triple {66730#true} call #t~ret8 := main(); {66730#true} is VALID [2022-04-28 12:30:54,789 INFO L290 TraceCheckUtils]: 5: Hoare triple {66730#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {66730#true} is VALID [2022-04-28 12:30:54,789 INFO L272 TraceCheckUtils]: 6: Hoare triple {66730#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,789 INFO L290 TraceCheckUtils]: 7: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:54,789 INFO L290 TraceCheckUtils]: 8: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:54,789 INFO L290 TraceCheckUtils]: 9: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,789 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {66730#true} {66730#true} #78#return; {66730#true} is VALID [2022-04-28 12:30:54,789 INFO L272 TraceCheckUtils]: 11: Hoare triple {66730#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,789 INFO L290 TraceCheckUtils]: 12: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:54,789 INFO L290 TraceCheckUtils]: 13: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:54,789 INFO L290 TraceCheckUtils]: 14: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,789 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {66730#true} {66730#true} #80#return; {66730#true} is VALID [2022-04-28 12:30:54,790 INFO L290 TraceCheckUtils]: 16: Hoare triple {66730#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:54,790 INFO L272 TraceCheckUtils]: 17: Hoare triple {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,790 INFO L290 TraceCheckUtils]: 18: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:54,790 INFO L290 TraceCheckUtils]: 19: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:54,790 INFO L290 TraceCheckUtils]: 20: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,791 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {66730#true} {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:54,791 INFO L272 TraceCheckUtils]: 22: Hoare triple {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,791 INFO L290 TraceCheckUtils]: 23: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:54,791 INFO L290 TraceCheckUtils]: 24: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:54,791 INFO L290 TraceCheckUtils]: 25: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,792 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {66730#true} {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:54,792 INFO L290 TraceCheckUtils]: 27: Hoare triple {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:54,793 INFO L290 TraceCheckUtils]: 28: Hoare triple {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:54,793 INFO L290 TraceCheckUtils]: 29: Hoare triple {66783#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:54,794 INFO L290 TraceCheckUtils]: 30: Hoare triple {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:54,794 INFO L290 TraceCheckUtils]: 31: Hoare triple {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post7 < 50);havoc #t~post7; {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:54,794 INFO L272 TraceCheckUtils]: 32: Hoare triple {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,794 INFO L290 TraceCheckUtils]: 33: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:54,794 INFO L290 TraceCheckUtils]: 34: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:54,794 INFO L290 TraceCheckUtils]: 35: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,795 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {66730#true} {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:54,795 INFO L272 TraceCheckUtils]: 37: Hoare triple {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {66730#true} is VALID [2022-04-28 12:30:54,795 INFO L290 TraceCheckUtils]: 38: Hoare triple {66730#true} ~cond := #in~cond; {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:30:54,796 INFO L290 TraceCheckUtils]: 39: Hoare triple {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:54,796 INFO L290 TraceCheckUtils]: 40: Hoare triple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:54,797 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} {66823#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:54,797 INFO L272 TraceCheckUtils]: 42: Hoare triple {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,797 INFO L290 TraceCheckUtils]: 43: Hoare triple {66730#true} ~cond := #in~cond; {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:30:54,798 INFO L290 TraceCheckUtils]: 44: Hoare triple {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:54,798 INFO L290 TraceCheckUtils]: 45: Hoare triple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:54,799 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #90#return; {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:54,799 INFO L272 TraceCheckUtils]: 47: Hoare triple {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,799 INFO L290 TraceCheckUtils]: 48: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:54,799 INFO L290 TraceCheckUtils]: 49: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:54,799 INFO L290 TraceCheckUtils]: 50: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,800 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {66730#true} {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #92#return; {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:54,800 INFO L290 TraceCheckUtils]: 52: Hoare triple {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:30:54,801 INFO L290 TraceCheckUtils]: 53: Hoare triple {66862#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,801 INFO L290 TraceCheckUtils]: 54: Hoare triple {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,802 INFO L290 TraceCheckUtils]: 55: Hoare triple {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,802 INFO L290 TraceCheckUtils]: 56: Hoare triple {66899#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,802 INFO L290 TraceCheckUtils]: 57: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,803 INFO L290 TraceCheckUtils]: 58: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post7 < 50);havoc #t~post7; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,803 INFO L272 TraceCheckUtils]: 59: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,803 INFO L290 TraceCheckUtils]: 60: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:54,803 INFO L290 TraceCheckUtils]: 61: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:54,803 INFO L290 TraceCheckUtils]: 62: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,804 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {66730#true} {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,804 INFO L272 TraceCheckUtils]: 64: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,804 INFO L290 TraceCheckUtils]: 65: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:54,804 INFO L290 TraceCheckUtils]: 66: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:54,804 INFO L290 TraceCheckUtils]: 67: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,805 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {66730#true} {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,805 INFO L272 TraceCheckUtils]: 69: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,805 INFO L290 TraceCheckUtils]: 70: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:54,805 INFO L290 TraceCheckUtils]: 71: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:54,805 INFO L290 TraceCheckUtils]: 72: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,806 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {66730#true} {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,806 INFO L272 TraceCheckUtils]: 74: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,806 INFO L290 TraceCheckUtils]: 75: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:54,806 INFO L290 TraceCheckUtils]: 76: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:54,806 INFO L290 TraceCheckUtils]: 77: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,807 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66730#true} {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #92#return; {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,807 INFO L290 TraceCheckUtils]: 79: Hoare triple {66909#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,808 INFO L290 TraceCheckUtils]: 80: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,808 INFO L290 TraceCheckUtils]: 81: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post7 < 50);havoc #t~post7; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,808 INFO L272 TraceCheckUtils]: 82: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,808 INFO L290 TraceCheckUtils]: 83: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:54,809 INFO L290 TraceCheckUtils]: 84: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:54,809 INFO L290 TraceCheckUtils]: 85: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,809 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66730#true} {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,809 INFO L272 TraceCheckUtils]: 87: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,810 INFO L290 TraceCheckUtils]: 88: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:54,810 INFO L290 TraceCheckUtils]: 89: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:54,810 INFO L290 TraceCheckUtils]: 90: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,810 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {66730#true} {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,810 INFO L272 TraceCheckUtils]: 92: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,811 INFO L290 TraceCheckUtils]: 93: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:54,811 INFO L290 TraceCheckUtils]: 94: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:54,811 INFO L290 TraceCheckUtils]: 95: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,811 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {66730#true} {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,811 INFO L272 TraceCheckUtils]: 97: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,812 INFO L290 TraceCheckUtils]: 98: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:54,812 INFO L290 TraceCheckUtils]: 99: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:54,812 INFO L290 TraceCheckUtils]: 100: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,812 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {66730#true} {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #92#return; {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,813 INFO L290 TraceCheckUtils]: 102: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,813 INFO L290 TraceCheckUtils]: 103: Hoare triple {66979#(and (= (+ main_~c~0 main_~x~0) main_~y~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,814 INFO L290 TraceCheckUtils]: 104: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,814 INFO L290 TraceCheckUtils]: 105: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,815 INFO L290 TraceCheckUtils]: 106: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,815 INFO L290 TraceCheckUtils]: 107: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,816 INFO L290 TraceCheckUtils]: 108: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(#t~post7 < 50);havoc #t~post7; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,816 INFO L272 TraceCheckUtils]: 109: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,816 INFO L290 TraceCheckUtils]: 110: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:54,816 INFO L290 TraceCheckUtils]: 111: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:54,816 INFO L290 TraceCheckUtils]: 112: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,816 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {66730#true} {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,817 INFO L272 TraceCheckUtils]: 114: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,817 INFO L290 TraceCheckUtils]: 115: Hoare triple {66730#true} ~cond := #in~cond; {66730#true} is VALID [2022-04-28 12:30:54,817 INFO L290 TraceCheckUtils]: 116: Hoare triple {66730#true} assume !(0 == ~cond); {66730#true} is VALID [2022-04-28 12:30:54,817 INFO L290 TraceCheckUtils]: 117: Hoare triple {66730#true} assume true; {66730#true} is VALID [2022-04-28 12:30:54,817 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {66730#true} {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,818 INFO L272 TraceCheckUtils]: 119: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {66730#true} is VALID [2022-04-28 12:30:54,818 INFO L290 TraceCheckUtils]: 120: Hoare triple {66730#true} ~cond := #in~cond; {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:30:54,818 INFO L290 TraceCheckUtils]: 121: Hoare triple {66851#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:54,818 INFO L290 TraceCheckUtils]: 122: Hoare triple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:30:54,819 INFO L284 TraceCheckUtils]: 123: Hoare quadruple {66855#(not (= |__VERIFIER_assert_#in~cond| 0))} {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:30:54,821 INFO L272 TraceCheckUtils]: 124: Hoare triple {67052#(and (= main_~s~0 1) (= (+ (- 1) (* (- 1) main_~q~0)) 0) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {67116#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:30:54,821 INFO L290 TraceCheckUtils]: 125: Hoare triple {67116#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {67120#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:30:54,822 INFO L290 TraceCheckUtils]: 126: Hoare triple {67120#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {66731#false} is VALID [2022-04-28 12:30:54,822 INFO L290 TraceCheckUtils]: 127: Hoare triple {66731#false} assume !false; {66731#false} is VALID [2022-04-28 12:30:54,822 INFO L134 CoverageAnalysis]: Checked inductivity of 523 backedges. 69 proven. 118 refuted. 0 times theorem prover too weak. 336 trivial. 0 not checked. [2022-04-28 12:30:54,822 INFO L328 TraceCheckSpWp]: Computing backward predicates...