/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench/egcd2-ll.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 04:22:27,129 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 04:22:27,131 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 04:22:27,153 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 04:22:27,154 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 04:22:27,154 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 04:22:27,155 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 04:22:27,156 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 04:22:27,157 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 04:22:27,158 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 04:22:27,158 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 04:22:27,159 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 04:22:27,159 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 04:22:27,160 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 04:22:27,161 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 04:22:27,161 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 04:22:27,162 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 04:22:27,162 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 04:22:27,163 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 04:22:27,164 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 04:22:27,165 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 04:22:27,166 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 04:22:27,167 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 04:22:27,167 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 04:22:27,168 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 04:22:27,170 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 04:22:27,170 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 04:22:27,170 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 04:22:27,171 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 04:22:27,171 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 04:22:27,171 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 04:22:27,172 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 04:22:27,172 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 04:22:27,173 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 04:22:27,173 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 04:22:27,174 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 04:22:27,174 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 04:22:27,174 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 04:22:27,174 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 04:22:27,175 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 04:22:27,175 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 04:22:27,176 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 04:22:27,176 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 04:22:27,182 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 04:22:27,182 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 04:22:27,183 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 04:22:27,183 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 04:22:27,183 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 04:22:27,183 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 04:22:27,183 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 04:22:27,184 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 04:22:27,184 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 04:22:27,184 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 04:22:27,184 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 04:22:27,184 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 04:22:27,184 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 04:22:27,184 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 04:22:27,184 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 04:22:27,184 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 04:22:27,184 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 04:22:27,184 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 04:22:27,185 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 04:22:27,185 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 04:22:27,185 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 04:22:27,185 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 04:22:27,185 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 04:22:27,185 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 04:22:27,185 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 04:22:27,185 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-08 04:22:27,373 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 04:22:27,393 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 04:22:27,396 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 04:22:27,397 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 04:22:27,397 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 04:22:27,398 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/egcd2-ll.c [2022-04-08 04:22:27,455 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0cc79d5c6/5ec99c2360d24626a17eec8a0ac22f49/FLAG0198a700d [2022-04-08 04:22:27,744 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 04:22:27,745 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/egcd2-ll.c [2022-04-08 04:22:27,749 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0cc79d5c6/5ec99c2360d24626a17eec8a0ac22f49/FLAG0198a700d [2022-04-08 04:22:28,181 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0cc79d5c6/5ec99c2360d24626a17eec8a0ac22f49 [2022-04-08 04:22:28,184 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 04:22:28,185 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 04:22:28,186 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 04:22:28,186 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 04:22:28,189 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 04:22:28,190 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 04:22:28" (1/1) ... [2022-04-08 04:22:28,191 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@77c81a75 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:28, skipping insertion in model container [2022-04-08 04:22:28,191 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 04:22:28" (1/1) ... [2022-04-08 04:22:28,196 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 04:22:28,208 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 04:22:28,371 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/egcd2-ll.c[490,503] [2022-04-08 04:22:28,410 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 04:22:28,416 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 04:22:28,450 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/egcd2-ll.c[490,503] [2022-04-08 04:22:28,483 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 04:22:28,503 INFO L208 MainTranslator]: Completed translation [2022-04-08 04:22:28,503 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:28 WrapperNode [2022-04-08 04:22:28,504 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 04:22:28,504 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 04:22:28,504 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 04:22:28,504 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 04:22:28,541 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:28" (1/1) ... [2022-04-08 04:22:28,541 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:28" (1/1) ... [2022-04-08 04:22:28,555 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:28" (1/1) ... [2022-04-08 04:22:28,556 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:28" (1/1) ... [2022-04-08 04:22:28,569 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:28" (1/1) ... [2022-04-08 04:22:28,572 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:28" (1/1) ... [2022-04-08 04:22:28,573 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:28" (1/1) ... [2022-04-08 04:22:28,574 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 04:22:28,575 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 04:22:28,599 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 04:22:28,599 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 04:22:28,600 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:28" (1/1) ... [2022-04-08 04:22:28,606 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 04:22:28,613 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:22:28,622 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-08 04:22:28,638 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-08 04:22:28,648 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 04:22:28,648 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 04:22:28,648 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 04:22:28,648 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 04:22:28,648 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 04:22:28,648 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 04:22:28,649 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 04:22:28,649 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 04:22:28,649 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 04:22:28,649 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 04:22:28,649 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 04:22:28,650 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 04:22:28,650 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 04:22:28,650 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 04:22:28,650 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 04:22:28,650 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 04:22:28,650 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 04:22:28,651 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 04:22:28,651 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 04:22:28,651 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 04:22:28,690 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 04:22:28,691 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 04:22:28,825 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 04:22:28,830 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 04:22:28,830 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 04:22:28,831 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 04:22:28 BoogieIcfgContainer [2022-04-08 04:22:28,831 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 04:22:28,843 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 04:22:28,843 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 04:22:28,845 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 04:22:28,845 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 04:22:28" (1/3) ... [2022-04-08 04:22:28,846 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4f8ed900 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 04:22:28, skipping insertion in model container [2022-04-08 04:22:28,846 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:28" (2/3) ... [2022-04-08 04:22:28,846 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4f8ed900 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 04:22:28, skipping insertion in model container [2022-04-08 04:22:28,846 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 04:22:28" (3/3) ... [2022-04-08 04:22:28,847 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll.c [2022-04-08 04:22:28,850 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 04:22:28,850 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 04:22:28,890 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 04:22:28,910 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 04:22:28,910 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 04:22:28,927 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 21 states have internal predecessors, (28), 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-08 04:22:28,932 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 04:22:28,932 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:22:28,932 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:22:28,933 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:22:28,935 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:22:28,936 INFO L85 PathProgramCache]: Analyzing trace with hash 1872307417, now seen corresponding path program 1 times [2022-04-08 04:22:28,942 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:28,942 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [225350460] [2022-04-08 04:22:28,953 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:22:28,953 INFO L85 PathProgramCache]: Analyzing trace with hash 1872307417, now seen corresponding path program 2 times [2022-04-08 04:22:28,955 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:22:28,955 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1580614750] [2022-04-08 04:22:28,955 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:22:28,956 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:22:29,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:29,102 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 04:22:29,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:29,131 INFO L290 TraceCheckUtils]: 0: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-08 04:22:29,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 04:22:29,132 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-08 04:22:29,132 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 04:22:29,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:29,143 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 04:22:29,143 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 04:22:29,144 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 04:22:29,144 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #76#return; {41#false} is VALID [2022-04-08 04:22:29,144 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 04:22:29,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:29,149 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 04:22:29,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 04:22:29,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 04:22:29,150 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #78#return; {41#false} is VALID [2022-04-08 04:22:29,150 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 04:22:29,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:29,154 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 04:22:29,155 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 04:22:29,155 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 04:22:29,155 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #80#return; {41#false} is VALID [2022-04-08 04:22:29,155 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 04:22:29,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:29,160 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 04:22:29,160 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 04:22:29,160 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 04:22:29,160 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #82#return; {41#false} is VALID [2022-04-08 04:22:29,161 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 04:22:29,161 INFO L290 TraceCheckUtils]: 1: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-08 04:22:29,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 04:22:29,161 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-08 04:22:29,162 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-08 04:22:29,162 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#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; {40#true} is VALID [2022-04-08 04:22:29,162 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-08 04:22:29,162 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 04:22:29,163 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 04:22:29,163 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 04:22:29,163 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #76#return; {41#false} is VALID [2022-04-08 04:22:29,163 INFO L272 TraceCheckUtils]: 11: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-08 04:22:29,163 INFO L290 TraceCheckUtils]: 12: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 04:22:29,166 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 04:22:29,166 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 04:22:29,166 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41#false} {41#false} #78#return; {41#false} is VALID [2022-04-08 04:22:29,167 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#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; {41#false} is VALID [2022-04-08 04:22:29,167 INFO L272 TraceCheckUtils]: 17: Hoare triple {41#false} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {40#true} is VALID [2022-04-08 04:22:29,167 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 04:22:29,167 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 04:22:29,168 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 04:22:29,168 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #80#return; {41#false} is VALID [2022-04-08 04:22:29,168 INFO L272 TraceCheckUtils]: 22: Hoare triple {41#false} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {40#true} is VALID [2022-04-08 04:22:29,168 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 04:22:29,169 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 04:22:29,169 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 04:22:29,169 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #82#return; {41#false} is VALID [2022-04-08 04:22:29,170 INFO L290 TraceCheckUtils]: 27: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-08 04:22:29,170 INFO L272 TraceCheckUtils]: 28: Hoare triple {41#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {41#false} is VALID [2022-04-08 04:22:29,170 INFO L290 TraceCheckUtils]: 29: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-08 04:22:29,170 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-08 04:22:29,170 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-08 04:22:29,171 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-08 04:22:29,171 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:22:29,171 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1580614750] [2022-04-08 04:22:29,172 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1580614750] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:29,172 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:29,172 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 04:22:29,174 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:22:29,174 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [225350460] [2022-04-08 04:22:29,174 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [225350460] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:29,174 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:29,174 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 04:22:29,174 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1130439009] [2022-04-08 04:22:29,175 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:22:29,178 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-08 04:22:29,179 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:22:29,181 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-08 04:22:29,215 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-08 04:22:29,215 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 04:22:29,216 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:29,236 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 04:22:29,238 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 04:22:29,241 INFO L87 Difference]: Start difference. First operand has 37 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 21 states have internal predecessors, (28), 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-08 04:22:29,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:29,413 INFO L93 Difference]: Finished difference Result 67 states and 106 transitions. [2022-04-08 04:22:29,413 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 04:22:29,414 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-08 04:22:29,414 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:22:29,415 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-08 04:22:29,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 106 transitions. [2022-04-08 04:22:29,427 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-08 04:22:29,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 106 transitions. [2022-04-08 04:22:29,435 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 106 transitions. [2022-04-08 04:22:29,543 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-08 04:22:29,549 INFO L225 Difference]: With dead ends: 67 [2022-04-08 04:22:29,549 INFO L226 Difference]: Without dead ends: 32 [2022-04-08 04:22:29,551 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 04:22:29,553 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 19 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:22:29,553 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 39 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:22:29,563 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-08 04:22:29,574 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-08 04:22:29,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:22:29,574 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 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-08 04:22:29,575 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 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-08 04:22:29,576 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 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-08 04:22:29,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:29,579 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-08 04:22:29,579 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 04:22:29,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:29,580 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:29,580 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 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 32 states. [2022-04-08 04:22:29,580 INFO L87 Difference]: Start difference. First operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 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 32 states. [2022-04-08 04:22:29,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:29,583 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-08 04:22:29,583 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 04:22:29,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:29,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:29,584 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:22:29,584 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:22:29,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 16 states have (on average 1.1875) internal successors, (19), 18 states have internal predecessors, (19), 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-08 04:22:29,586 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-08 04:22:29,587 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 32 [2022-04-08 04:22:29,587 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:22:29,587 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-08 04:22:29,587 INFO L479 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-08 04:22:29,587 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-08 04:22:29,629 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-08 04:22:29,629 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 04:22:29,630 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 04:22:29,630 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:22:29,630 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:22:29,630 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 04:22:29,630 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:22:29,631 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:22:29,631 INFO L85 PathProgramCache]: Analyzing trace with hash 310247117, now seen corresponding path program 1 times [2022-04-08 04:22:29,631 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:29,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1879841176] [2022-04-08 04:22:29,632 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:22:29,632 INFO L85 PathProgramCache]: Analyzing trace with hash 310247117, now seen corresponding path program 2 times [2022-04-08 04:22:29,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:22:29,632 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1365976699] [2022-04-08 04:22:29,632 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:22:29,632 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:22:29,646 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:22:29,646 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [100135924] [2022-04-08 04:22:29,646 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:22:29,646 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:29,646 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:22:29,654 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-08 04:22:29,655 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-08 04:22:29,700 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:22:29,701 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:22:29,702 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 04:22:29,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:29,714 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:22:29,847 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-08 04:22:29,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {326#true} is VALID [2022-04-08 04:22:29,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 04:22:29,847 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #96#return; {326#true} is VALID [2022-04-08 04:22:29,847 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-08 04:22:29,848 INFO L290 TraceCheckUtils]: 5: Hoare triple {326#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; {326#true} is VALID [2022-04-08 04:22:29,848 INFO L272 TraceCheckUtils]: 6: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-08 04:22:29,848 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 04:22:29,848 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 04:22:29,848 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 04:22:29,848 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #76#return; {326#true} is VALID [2022-04-08 04:22:29,849 INFO L272 TraceCheckUtils]: 11: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-08 04:22:29,849 INFO L290 TraceCheckUtils]: 12: Hoare triple {326#true} ~cond := #in~cond; {367#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:22:29,849 INFO L290 TraceCheckUtils]: 13: Hoare triple {367#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {371#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:22:29,850 INFO L290 TraceCheckUtils]: 14: Hoare triple {371#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {371#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:22:29,850 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {371#(not (= |assume_abort_if_not_#in~cond| 0))} {326#true} #78#return; {378#(<= 1 main_~y~0)} is VALID [2022-04-08 04:22:29,851 INFO L290 TraceCheckUtils]: 16: Hoare triple {378#(<= 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; {382#(<= 1 main_~b~0)} is VALID [2022-04-08 04:22:29,851 INFO L272 TraceCheckUtils]: 17: Hoare triple {382#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {326#true} is VALID [2022-04-08 04:22:29,851 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 04:22:29,851 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 04:22:29,852 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 04:22:29,852 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {382#(<= 1 main_~b~0)} #80#return; {382#(<= 1 main_~b~0)} is VALID [2022-04-08 04:22:29,852 INFO L272 TraceCheckUtils]: 22: Hoare triple {382#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {326#true} is VALID [2022-04-08 04:22:29,852 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 04:22:29,853 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 04:22:29,853 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 04:22:29,853 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {382#(<= 1 main_~b~0)} #82#return; {382#(<= 1 main_~b~0)} is VALID [2022-04-08 04:22:29,854 INFO L290 TraceCheckUtils]: 27: Hoare triple {382#(<= 1 main_~b~0)} assume !false; {382#(<= 1 main_~b~0)} is VALID [2022-04-08 04:22:29,854 INFO L290 TraceCheckUtils]: 28: Hoare triple {382#(<= 1 main_~b~0)} assume !(0 != ~b~0); {327#false} is VALID [2022-04-08 04:22:29,854 INFO L272 TraceCheckUtils]: 29: Hoare triple {327#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {327#false} is VALID [2022-04-08 04:22:29,854 INFO L290 TraceCheckUtils]: 30: Hoare triple {327#false} ~cond := #in~cond; {327#false} is VALID [2022-04-08 04:22:29,854 INFO L290 TraceCheckUtils]: 31: Hoare triple {327#false} assume 0 == ~cond; {327#false} is VALID [2022-04-08 04:22:29,855 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-08 04:22:29,855 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-08 04:22:29,855 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:22:30,108 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-08 04:22:30,109 INFO L290 TraceCheckUtils]: 31: Hoare triple {327#false} assume 0 == ~cond; {327#false} is VALID [2022-04-08 04:22:30,109 INFO L290 TraceCheckUtils]: 30: Hoare triple {327#false} ~cond := #in~cond; {327#false} is VALID [2022-04-08 04:22:30,109 INFO L272 TraceCheckUtils]: 29: Hoare triple {327#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {327#false} is VALID [2022-04-08 04:22:30,110 INFO L290 TraceCheckUtils]: 28: Hoare triple {382#(<= 1 main_~b~0)} assume !(0 != ~b~0); {327#false} is VALID [2022-04-08 04:22:30,110 INFO L290 TraceCheckUtils]: 27: Hoare triple {382#(<= 1 main_~b~0)} assume !false; {382#(<= 1 main_~b~0)} is VALID [2022-04-08 04:22:30,110 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {382#(<= 1 main_~b~0)} #82#return; {382#(<= 1 main_~b~0)} is VALID [2022-04-08 04:22:30,111 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 04:22:30,111 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 04:22:30,111 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 04:22:30,111 INFO L272 TraceCheckUtils]: 22: Hoare triple {382#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {326#true} is VALID [2022-04-08 04:22:30,112 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {382#(<= 1 main_~b~0)} #80#return; {382#(<= 1 main_~b~0)} is VALID [2022-04-08 04:22:30,112 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 04:22:30,112 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 04:22:30,112 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 04:22:30,112 INFO L272 TraceCheckUtils]: 17: Hoare triple {382#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {326#true} is VALID [2022-04-08 04:22:30,113 INFO L290 TraceCheckUtils]: 16: Hoare triple {378#(<= 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; {382#(<= 1 main_~b~0)} is VALID [2022-04-08 04:22:30,113 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {371#(not (= |assume_abort_if_not_#in~cond| 0))} {326#true} #78#return; {378#(<= 1 main_~y~0)} is VALID [2022-04-08 04:22:30,114 INFO L290 TraceCheckUtils]: 14: Hoare triple {371#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {371#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:22:30,114 INFO L290 TraceCheckUtils]: 13: Hoare triple {491#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {371#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:22:30,115 INFO L290 TraceCheckUtils]: 12: Hoare triple {326#true} ~cond := #in~cond; {491#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 04:22:30,115 INFO L272 TraceCheckUtils]: 11: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-08 04:22:30,115 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #76#return; {326#true} is VALID [2022-04-08 04:22:30,115 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 04:22:30,115 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 04:22:30,115 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 04:22:30,115 INFO L272 TraceCheckUtils]: 6: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-08 04:22:30,116 INFO L290 TraceCheckUtils]: 5: Hoare triple {326#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; {326#true} is VALID [2022-04-08 04:22:30,116 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-08 04:22:30,116 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #96#return; {326#true} is VALID [2022-04-08 04:22:30,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 04:22:30,116 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {326#true} is VALID [2022-04-08 04:22:30,116 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-08 04:22:30,116 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-08 04:22:30,117 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:22:30,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1365976699] [2022-04-08 04:22:30,117 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:22:30,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [100135924] [2022-04-08 04:22:30,117 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [100135924] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:22:30,117 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:22:30,117 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-08 04:22:30,118 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:22:30,118 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1879841176] [2022-04-08 04:22:30,118 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1879841176] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:30,118 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:30,118 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:22:30,118 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [324103491] [2022-04-08 04:22:30,119 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:22:30,119 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 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 33 [2022-04-08 04:22:30,119 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:22:30,120 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 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-08 04:22:30,138 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-08 04:22:30,138 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 04:22:30,138 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:30,138 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 04:22:30,138 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 04:22:30,139 INFO L87 Difference]: Start difference. First operand 32 states and 41 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 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-08 04:22:30,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:30,363 INFO L93 Difference]: Finished difference Result 49 states and 64 transitions. [2022-04-08 04:22:30,363 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 04:22:30,363 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 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 33 [2022-04-08 04:22:30,364 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:22:30,364 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 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-08 04:22:30,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-08 04:22:30,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 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-08 04:22:30,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-08 04:22:30,367 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 64 transitions. [2022-04-08 04:22:30,413 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-08 04:22:30,414 INFO L225 Difference]: With dead ends: 49 [2022-04-08 04:22:30,414 INFO L226 Difference]: Without dead ends: 41 [2022-04-08 04:22:30,415 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 59 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-08 04:22:30,415 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 19 mSDsluCounter, 84 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 119 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-08 04:22:30,416 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 119 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 74 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:22:30,416 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-08 04:22:30,431 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-08 04:22:30,431 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:22:30,431 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 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-08 04:22:30,432 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 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-08 04:22:30,432 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 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-08 04:22:30,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:30,434 INFO L93 Difference]: Finished difference Result 41 states and 55 transitions. [2022-04-08 04:22:30,434 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 55 transitions. [2022-04-08 04:22:30,435 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:30,435 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:30,435 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 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 41 states. [2022-04-08 04:22:30,435 INFO L87 Difference]: Start difference. First operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 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 41 states. [2022-04-08 04:22:30,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:30,437 INFO L93 Difference]: Finished difference Result 41 states and 55 transitions. [2022-04-08 04:22:30,437 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 55 transitions. [2022-04-08 04:22:30,438 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:30,438 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:30,438 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:22:30,438 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:22:30,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 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-08 04:22:30,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-08 04:22:30,440 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 33 [2022-04-08 04:22:30,440 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:22:30,440 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-08 04:22:30,440 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 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-08 04:22:30,440 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 43 transitions. [2022-04-08 04:22:30,478 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:30,478 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-08 04:22:30,479 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 04:22:30,479 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:22:30,479 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:22:30,499 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 04:22:30,696 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:30,698 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:22:30,698 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:22:30,699 INFO L85 PathProgramCache]: Analyzing trace with hash 1036600877, now seen corresponding path program 1 times [2022-04-08 04:22:30,699 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:30,699 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1929300083] [2022-04-08 04:22:30,699 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:22:30,699 INFO L85 PathProgramCache]: Analyzing trace with hash 1036600877, now seen corresponding path program 2 times [2022-04-08 04:22:30,699 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:22:30,699 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1501339147] [2022-04-08 04:22:30,700 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:22:30,700 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:22:30,710 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:22:30,710 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2108198647] [2022-04-08 04:22:30,710 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:22:30,711 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:30,711 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:22:30,736 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-08 04:22:30,737 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-08 04:22:30,768 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 04:22:30,768 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:22:30,769 INFO L263 TraceCheckSpWp]: Trace formula consists of 72 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-08 04:22:30,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:30,778 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:22:30,878 INFO L272 TraceCheckUtils]: 0: Hoare triple {782#true} call ULTIMATE.init(); {782#true} is VALID [2022-04-08 04:22:30,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {782#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); {782#true} is VALID [2022-04-08 04:22:30,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-08 04:22:30,879 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {782#true} {782#true} #96#return; {782#true} is VALID [2022-04-08 04:22:30,879 INFO L272 TraceCheckUtils]: 4: Hoare triple {782#true} call #t~ret6 := main(); {782#true} is VALID [2022-04-08 04:22:30,879 INFO L290 TraceCheckUtils]: 5: Hoare triple {782#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; {782#true} is VALID [2022-04-08 04:22:30,879 INFO L272 TraceCheckUtils]: 6: Hoare triple {782#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {782#true} is VALID [2022-04-08 04:22:30,879 INFO L290 TraceCheckUtils]: 7: Hoare triple {782#true} ~cond := #in~cond; {782#true} is VALID [2022-04-08 04:22:30,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {782#true} assume !(0 == ~cond); {782#true} is VALID [2022-04-08 04:22:30,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-08 04:22:30,880 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {782#true} {782#true} #76#return; {782#true} is VALID [2022-04-08 04:22:30,880 INFO L272 TraceCheckUtils]: 11: Hoare triple {782#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {782#true} is VALID [2022-04-08 04:22:30,880 INFO L290 TraceCheckUtils]: 12: Hoare triple {782#true} ~cond := #in~cond; {782#true} is VALID [2022-04-08 04:22:30,880 INFO L290 TraceCheckUtils]: 13: Hoare triple {782#true} assume !(0 == ~cond); {782#true} is VALID [2022-04-08 04:22:30,880 INFO L290 TraceCheckUtils]: 14: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-08 04:22:30,880 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {782#true} {782#true} #78#return; {782#true} is VALID [2022-04-08 04:22:30,880 INFO L290 TraceCheckUtils]: 16: Hoare triple {782#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; {782#true} is VALID [2022-04-08 04:22:30,880 INFO L272 TraceCheckUtils]: 17: Hoare triple {782#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {782#true} is VALID [2022-04-08 04:22:30,881 INFO L290 TraceCheckUtils]: 18: Hoare triple {782#true} ~cond := #in~cond; {782#true} is VALID [2022-04-08 04:22:30,881 INFO L290 TraceCheckUtils]: 19: Hoare triple {782#true} assume !(0 == ~cond); {782#true} is VALID [2022-04-08 04:22:30,881 INFO L290 TraceCheckUtils]: 20: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-08 04:22:30,881 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {782#true} {782#true} #80#return; {782#true} is VALID [2022-04-08 04:22:30,881 INFO L272 TraceCheckUtils]: 22: Hoare triple {782#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {782#true} is VALID [2022-04-08 04:22:30,881 INFO L290 TraceCheckUtils]: 23: Hoare triple {782#true} ~cond := #in~cond; {782#true} is VALID [2022-04-08 04:22:30,881 INFO L290 TraceCheckUtils]: 24: Hoare triple {782#true} assume !(0 == ~cond); {782#true} is VALID [2022-04-08 04:22:30,881 INFO L290 TraceCheckUtils]: 25: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-08 04:22:30,881 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {782#true} {782#true} #82#return; {782#true} is VALID [2022-04-08 04:22:30,881 INFO L290 TraceCheckUtils]: 27: Hoare triple {782#true} assume !false; {782#true} is VALID [2022-04-08 04:22:30,882 INFO L290 TraceCheckUtils]: 28: Hoare triple {782#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {871#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 04:22:30,882 INFO L290 TraceCheckUtils]: 29: Hoare triple {871#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} assume !false; {871#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 04:22:30,883 INFO L272 TraceCheckUtils]: 30: Hoare triple {871#(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)); {878#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:22:30,883 INFO L290 TraceCheckUtils]: 31: Hoare triple {878#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {882#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:30,884 INFO L290 TraceCheckUtils]: 32: Hoare triple {882#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {783#false} is VALID [2022-04-08 04:22:30,884 INFO L290 TraceCheckUtils]: 33: Hoare triple {783#false} assume !false; {783#false} is VALID [2022-04-08 04:22:30,884 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-08 04:22:30,884 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 04:22:30,884 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:22:30,884 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1501339147] [2022-04-08 04:22:30,884 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:22:30,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2108198647] [2022-04-08 04:22:30,885 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2108198647] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:30,885 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:30,885 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:22:30,885 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:22:30,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1929300083] [2022-04-08 04:22:30,885 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1929300083] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:30,885 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:30,885 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:22:30,885 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1435858577] [2022-04-08 04:22:30,885 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:22:30,886 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-08 04:22:30,886 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:22:30,886 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 04:22:30,902 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:30,902 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:22:30,902 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:30,902 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:22:30,903 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 04:22:30,903 INFO L87 Difference]: Start difference. First operand 34 states and 43 transitions. Second operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 04:22:31,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:31,066 INFO L93 Difference]: Finished difference Result 47 states and 60 transitions. [2022-04-08 04:22:31,066 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:22:31,067 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-08 04:22:31,067 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:22:31,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 04:22:31,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-08 04:22:31,068 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 04:22:31,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-08 04:22:31,070 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-08 04:22:31,114 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-08 04:22:31,116 INFO L225 Difference]: With dead ends: 47 [2022-04-08 04:22:31,116 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 04:22:31,116 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 30 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-08 04:22:31,117 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 6 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 134 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-08 04:22:31,118 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 134 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:22:31,118 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 04:22:31,156 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 40. [2022-04-08 04:22:31,156 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:22:31,156 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 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-08 04:22:31,156 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 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-08 04:22:31,157 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 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-08 04:22:31,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:31,159 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-08 04:22:31,159 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 58 transitions. [2022-04-08 04:22:31,159 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:31,159 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:31,160 INFO L74 IsIncluded]: Start isIncluded. First operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 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 45 states. [2022-04-08 04:22:31,160 INFO L87 Difference]: Start difference. First operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 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 45 states. [2022-04-08 04:22:31,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:31,162 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-08 04:22:31,162 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 58 transitions. [2022-04-08 04:22:31,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:31,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:31,162 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:22:31,162 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:22:31,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 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-08 04:22:31,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 49 transitions. [2022-04-08 04:22:31,164 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 49 transitions. Word has length 34 [2022-04-08 04:22:31,164 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:22:31,164 INFO L478 AbstractCegarLoop]: Abstraction has 40 states and 49 transitions. [2022-04-08 04:22:31,164 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 4 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 04:22:31,164 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 49 transitions. [2022-04-08 04:22:31,207 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:31,207 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 49 transitions. [2022-04-08 04:22:31,208 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 04:22:31,208 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:22:31,208 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:22:31,241 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-08 04:22:31,442 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 04:22:31,443 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:22:31,443 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:22:31,443 INFO L85 PathProgramCache]: Analyzing trace with hash -844413996, now seen corresponding path program 1 times [2022-04-08 04:22:31,443 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:31,443 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [998713971] [2022-04-08 04:22:31,444 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:22:31,444 INFO L85 PathProgramCache]: Analyzing trace with hash -844413996, now seen corresponding path program 2 times [2022-04-08 04:22:31,444 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:22:31,444 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1099924665] [2022-04-08 04:22:31,444 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:22:31,444 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:22:31,454 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:22:31,455 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [241021869] [2022-04-08 04:22:31,455 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:22:31,455 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:31,455 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:22:31,472 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-08 04:22:31,473 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-08 04:22:31,507 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:22:31,507 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:22:31,508 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 04:22:31,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:31,517 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:22:31,724 INFO L272 TraceCheckUtils]: 0: Hoare triple {1154#true} call ULTIMATE.init(); {1154#true} is VALID [2022-04-08 04:22:31,724 INFO L290 TraceCheckUtils]: 1: Hoare triple {1154#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); {1154#true} is VALID [2022-04-08 04:22:31,724 INFO L290 TraceCheckUtils]: 2: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 04:22:31,724 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1154#true} {1154#true} #96#return; {1154#true} is VALID [2022-04-08 04:22:31,725 INFO L272 TraceCheckUtils]: 4: Hoare triple {1154#true} call #t~ret6 := main(); {1154#true} is VALID [2022-04-08 04:22:31,725 INFO L290 TraceCheckUtils]: 5: Hoare triple {1154#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; {1154#true} is VALID [2022-04-08 04:22:31,725 INFO L272 TraceCheckUtils]: 6: Hoare triple {1154#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1154#true} is VALID [2022-04-08 04:22:31,725 INFO L290 TraceCheckUtils]: 7: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 04:22:31,725 INFO L290 TraceCheckUtils]: 8: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 04:22:31,725 INFO L290 TraceCheckUtils]: 9: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 04:22:31,725 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1154#true} {1154#true} #76#return; {1154#true} is VALID [2022-04-08 04:22:31,725 INFO L272 TraceCheckUtils]: 11: Hoare triple {1154#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1154#true} is VALID [2022-04-08 04:22:31,727 INFO L290 TraceCheckUtils]: 12: Hoare triple {1154#true} ~cond := #in~cond; {1195#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:22:31,727 INFO L290 TraceCheckUtils]: 13: Hoare triple {1195#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1199#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:22:31,728 INFO L290 TraceCheckUtils]: 14: Hoare triple {1199#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1199#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:22:31,729 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1199#(not (= |assume_abort_if_not_#in~cond| 0))} {1154#true} #78#return; {1206#(<= 1 main_~y~0)} is VALID [2022-04-08 04:22:31,729 INFO L290 TraceCheckUtils]: 16: Hoare triple {1206#(<= 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; {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:31,729 INFO L272 TraceCheckUtils]: 17: Hoare triple {1210#(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)); {1154#true} is VALID [2022-04-08 04:22:31,729 INFO L290 TraceCheckUtils]: 18: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 04:22:31,729 INFO L290 TraceCheckUtils]: 19: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 04:22:31,730 INFO L290 TraceCheckUtils]: 20: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 04:22:31,730 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1154#true} {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #80#return; {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:31,730 INFO L272 TraceCheckUtils]: 22: Hoare triple {1210#(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)); {1154#true} is VALID [2022-04-08 04:22:31,730 INFO L290 TraceCheckUtils]: 23: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 04:22:31,730 INFO L290 TraceCheckUtils]: 24: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 04:22:31,731 INFO L290 TraceCheckUtils]: 25: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 04:22:31,740 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1154#true} {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:31,740 INFO L290 TraceCheckUtils]: 27: Hoare triple {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:31,741 INFO L290 TraceCheckUtils]: 28: Hoare triple {1210#(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; {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:31,741 INFO L290 TraceCheckUtils]: 29: Hoare triple {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:31,741 INFO L272 TraceCheckUtils]: 30: Hoare triple {1210#(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)); {1154#true} is VALID [2022-04-08 04:22:31,741 INFO L290 TraceCheckUtils]: 31: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 04:22:31,742 INFO L290 TraceCheckUtils]: 32: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 04:22:31,742 INFO L290 TraceCheckUtils]: 33: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 04:22:31,742 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1154#true} {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {1210#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:31,743 INFO L272 TraceCheckUtils]: 35: Hoare triple {1210#(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)); {1268#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:22:31,743 INFO L290 TraceCheckUtils]: 36: Hoare triple {1268#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1272#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:31,743 INFO L290 TraceCheckUtils]: 37: Hoare triple {1272#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1155#false} is VALID [2022-04-08 04:22:31,744 INFO L290 TraceCheckUtils]: 38: Hoare triple {1155#false} assume !false; {1155#false} is VALID [2022-04-08 04:22:31,744 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-08 04:22:31,744 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:22:31,916 INFO L290 TraceCheckUtils]: 38: Hoare triple {1155#false} assume !false; {1155#false} is VALID [2022-04-08 04:22:31,917 INFO L290 TraceCheckUtils]: 37: Hoare triple {1272#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1155#false} is VALID [2022-04-08 04:22:31,917 INFO L290 TraceCheckUtils]: 36: Hoare triple {1268#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1272#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:31,918 INFO L272 TraceCheckUtils]: 35: Hoare triple {1288#(= 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)); {1268#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:22:31,918 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1154#true} {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #84#return; {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:22:31,919 INFO L290 TraceCheckUtils]: 33: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 04:22:31,919 INFO L290 TraceCheckUtils]: 32: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 04:22:31,919 INFO L290 TraceCheckUtils]: 31: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 04:22:31,919 INFO L272 TraceCheckUtils]: 30: Hoare triple {1288#(= 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)); {1154#true} is VALID [2022-04-08 04:22:31,919 INFO L290 TraceCheckUtils]: 29: Hoare triple {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:22:31,920 INFO L290 TraceCheckUtils]: 28: Hoare triple {1288#(= 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; {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:22:31,920 INFO L290 TraceCheckUtils]: 27: Hoare triple {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:22:31,920 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1154#true} {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #82#return; {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:22:31,920 INFO L290 TraceCheckUtils]: 25: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 04:22:31,921 INFO L290 TraceCheckUtils]: 24: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 04:22:31,921 INFO L290 TraceCheckUtils]: 23: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 04:22:31,921 INFO L272 TraceCheckUtils]: 22: Hoare triple {1288#(= 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)); {1154#true} is VALID [2022-04-08 04:22:31,921 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1154#true} {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:22:31,921 INFO L290 TraceCheckUtils]: 20: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 04:22:31,921 INFO L290 TraceCheckUtils]: 19: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 04:22:31,922 INFO L290 TraceCheckUtils]: 18: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 04:22:31,922 INFO L272 TraceCheckUtils]: 17: Hoare triple {1288#(= 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)); {1154#true} is VALID [2022-04-08 04:22:31,922 INFO L290 TraceCheckUtils]: 16: Hoare triple {1154#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; {1288#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:22:31,922 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1154#true} {1154#true} #78#return; {1154#true} is VALID [2022-04-08 04:22:31,922 INFO L290 TraceCheckUtils]: 14: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 04:22:31,922 INFO L290 TraceCheckUtils]: 13: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 04:22:31,923 INFO L290 TraceCheckUtils]: 12: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 04:22:31,923 INFO L272 TraceCheckUtils]: 11: Hoare triple {1154#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1154#true} is VALID [2022-04-08 04:22:31,923 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1154#true} {1154#true} #76#return; {1154#true} is VALID [2022-04-08 04:22:31,923 INFO L290 TraceCheckUtils]: 9: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 04:22:31,923 INFO L290 TraceCheckUtils]: 8: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 04:22:31,923 INFO L290 TraceCheckUtils]: 7: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 04:22:31,923 INFO L272 TraceCheckUtils]: 6: Hoare triple {1154#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1154#true} is VALID [2022-04-08 04:22:31,923 INFO L290 TraceCheckUtils]: 5: Hoare triple {1154#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; {1154#true} is VALID [2022-04-08 04:22:31,923 INFO L272 TraceCheckUtils]: 4: Hoare triple {1154#true} call #t~ret6 := main(); {1154#true} is VALID [2022-04-08 04:22:31,923 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1154#true} {1154#true} #96#return; {1154#true} is VALID [2022-04-08 04:22:31,923 INFO L290 TraceCheckUtils]: 2: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 04:22:31,924 INFO L290 TraceCheckUtils]: 1: Hoare triple {1154#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); {1154#true} is VALID [2022-04-08 04:22:31,924 INFO L272 TraceCheckUtils]: 0: Hoare triple {1154#true} call ULTIMATE.init(); {1154#true} is VALID [2022-04-08 04:22:31,924 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-08 04:22:31,924 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:22:31,924 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1099924665] [2022-04-08 04:22:31,924 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:22:31,924 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [241021869] [2022-04-08 04:22:31,924 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [241021869] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 04:22:31,924 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 04:22:31,925 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-08 04:22:31,925 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:22:31,925 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [998713971] [2022-04-08 04:22:31,925 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [998713971] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:31,925 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:31,925 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:22:31,925 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1068907100] [2022-04-08 04:22:31,925 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:22:31,926 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-04-08 04:22:31,926 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:22:31,926 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 04:22:31,946 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-08 04:22:31,946 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:22:31,947 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:31,947 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:22:31,947 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 04:22:31,947 INFO L87 Difference]: Start difference. First operand 40 states and 49 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 04:22:32,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:32,111 INFO L93 Difference]: Finished difference Result 55 states and 69 transitions. [2022-04-08 04:22:32,112 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:22:32,112 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-04-08 04:22:32,112 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:22:32,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 04:22:32,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 04:22:32,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 04:22:32,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 04:22:32,114 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-08 04:22:32,165 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:32,166 INFO L225 Difference]: With dead ends: 55 [2022-04-08 04:22:32,166 INFO L226 Difference]: Without dead ends: 53 [2022-04-08 04:22:32,166 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 69 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-08 04:22:32,167 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 7 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 141 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-08 04:22:32,167 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 141 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:22:32,168 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-08 04:22:32,200 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 52. [2022-04-08 04:22:32,200 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:22:32,201 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 52 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 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-08 04:22:32,201 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 52 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 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-08 04:22:32,201 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 52 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 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-08 04:22:32,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:32,203 INFO L93 Difference]: Finished difference Result 53 states and 67 transitions. [2022-04-08 04:22:32,203 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 67 transitions. [2022-04-08 04:22:32,203 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:32,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:32,204 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 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 53 states. [2022-04-08 04:22:32,204 INFO L87 Difference]: Start difference. First operand has 52 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 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 53 states. [2022-04-08 04:22:32,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:32,206 INFO L93 Difference]: Finished difference Result 53 states and 67 transitions. [2022-04-08 04:22:32,206 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 67 transitions. [2022-04-08 04:22:32,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:32,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:32,206 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:22:32,206 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:22:32,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 31 states have internal predecessors, (32), 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-08 04:22:32,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 66 transitions. [2022-04-08 04:22:32,208 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 66 transitions. Word has length 39 [2022-04-08 04:22:32,208 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:22:32,208 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 66 transitions. [2022-04-08 04:22:32,209 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 04:22:32,209 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 66 transitions. [2022-04-08 04:22:32,280 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:32,280 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-08 04:22:32,280 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 04:22:32,280 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:22:32,280 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:22:32,297 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 04:22:32,496 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:32,497 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:22:32,497 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:22:32,497 INFO L85 PathProgramCache]: Analyzing trace with hash -644493747, now seen corresponding path program 1 times [2022-04-08 04:22:32,497 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:32,497 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1763508522] [2022-04-08 04:22:32,498 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:22:32,498 INFO L85 PathProgramCache]: Analyzing trace with hash -644493747, now seen corresponding path program 2 times [2022-04-08 04:22:32,498 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:22:32,498 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1953513574] [2022-04-08 04:22:32,498 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:22:32,498 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:22:32,522 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:22:32,522 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2138179816] [2022-04-08 04:22:32,522 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:22:32,522 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:32,522 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:22:32,531 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-08 04:22:32,532 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-08 04:22:32,589 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:22:32,589 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:22:32,590 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 04:22:32,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:32,600 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:22:32,816 INFO L272 TraceCheckUtils]: 0: Hoare triple {1718#true} call ULTIMATE.init(); {1718#true} is VALID [2022-04-08 04:22:32,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {1718#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); {1718#true} is VALID [2022-04-08 04:22:32,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 04:22:32,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1718#true} {1718#true} #96#return; {1718#true} is VALID [2022-04-08 04:22:32,817 INFO L272 TraceCheckUtils]: 4: Hoare triple {1718#true} call #t~ret6 := main(); {1718#true} is VALID [2022-04-08 04:22:32,817 INFO L290 TraceCheckUtils]: 5: Hoare triple {1718#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; {1718#true} is VALID [2022-04-08 04:22:32,817 INFO L272 TraceCheckUtils]: 6: Hoare triple {1718#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1718#true} is VALID [2022-04-08 04:22:32,818 INFO L290 TraceCheckUtils]: 7: Hoare triple {1718#true} ~cond := #in~cond; {1744#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:22:32,818 INFO L290 TraceCheckUtils]: 8: Hoare triple {1744#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1748#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:22:32,818 INFO L290 TraceCheckUtils]: 9: Hoare triple {1748#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1748#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:22:32,819 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1748#(not (= |assume_abort_if_not_#in~cond| 0))} {1718#true} #76#return; {1755#(<= 1 main_~x~0)} is VALID [2022-04-08 04:22:32,819 INFO L272 TraceCheckUtils]: 11: Hoare triple {1755#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1718#true} is VALID [2022-04-08 04:22:32,819 INFO L290 TraceCheckUtils]: 12: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 04:22:32,819 INFO L290 TraceCheckUtils]: 13: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 04:22:32,819 INFO L290 TraceCheckUtils]: 14: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 04:22:32,820 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1718#true} {1755#(<= 1 main_~x~0)} #78#return; {1755#(<= 1 main_~x~0)} is VALID [2022-04-08 04:22:32,820 INFO L290 TraceCheckUtils]: 16: Hoare triple {1755#(<= 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; {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:22:32,820 INFO L272 TraceCheckUtils]: 17: Hoare triple {1774#(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)); {1718#true} is VALID [2022-04-08 04:22:32,820 INFO L290 TraceCheckUtils]: 18: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 04:22:32,820 INFO L290 TraceCheckUtils]: 19: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 04:22:32,820 INFO L290 TraceCheckUtils]: 20: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 04:22:32,821 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1718#true} {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #80#return; {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:22:32,822 INFO L272 TraceCheckUtils]: 22: Hoare triple {1774#(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)); {1718#true} is VALID [2022-04-08 04:22:32,822 INFO L290 TraceCheckUtils]: 23: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 04:22:32,822 INFO L290 TraceCheckUtils]: 24: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 04:22:32,822 INFO L290 TraceCheckUtils]: 25: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 04:22:32,826 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1718#true} {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #82#return; {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:22:32,826 INFO L290 TraceCheckUtils]: 27: Hoare triple {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:22:32,827 INFO L290 TraceCheckUtils]: 28: Hoare triple {1774#(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; {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:22:32,827 INFO L290 TraceCheckUtils]: 29: Hoare triple {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:22:32,827 INFO L272 TraceCheckUtils]: 30: Hoare triple {1774#(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)); {1718#true} is VALID [2022-04-08 04:22:32,827 INFO L290 TraceCheckUtils]: 31: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 04:22:32,827 INFO L290 TraceCheckUtils]: 32: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 04:22:32,827 INFO L290 TraceCheckUtils]: 33: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 04:22:32,828 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1718#true} {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #84#return; {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:22:32,828 INFO L272 TraceCheckUtils]: 35: Hoare triple {1774#(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)); {1718#true} is VALID [2022-04-08 04:22:32,828 INFO L290 TraceCheckUtils]: 36: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 04:22:32,828 INFO L290 TraceCheckUtils]: 37: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 04:22:32,828 INFO L290 TraceCheckUtils]: 38: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 04:22:32,829 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1718#true} {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #86#return; {1774#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:22:32,830 INFO L272 TraceCheckUtils]: 40: Hoare triple {1774#(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)); {1847#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:22:32,830 INFO L290 TraceCheckUtils]: 41: Hoare triple {1847#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1851#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:32,830 INFO L290 TraceCheckUtils]: 42: Hoare triple {1851#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1719#false} is VALID [2022-04-08 04:22:32,830 INFO L290 TraceCheckUtils]: 43: Hoare triple {1719#false} assume !false; {1719#false} is VALID [2022-04-08 04:22:32,830 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-08 04:22:32,830 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:22:33,004 INFO L290 TraceCheckUtils]: 43: Hoare triple {1719#false} assume !false; {1719#false} is VALID [2022-04-08 04:22:33,004 INFO L290 TraceCheckUtils]: 42: Hoare triple {1851#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1719#false} is VALID [2022-04-08 04:22:33,004 INFO L290 TraceCheckUtils]: 41: Hoare triple {1847#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1851#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:33,005 INFO L272 TraceCheckUtils]: 40: Hoare triple {1867#(= 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)); {1847#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:22:33,005 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1718#true} {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #86#return; {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:22:33,005 INFO L290 TraceCheckUtils]: 38: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 04:22:33,005 INFO L290 TraceCheckUtils]: 37: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 04:22:33,006 INFO L290 TraceCheckUtils]: 36: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 04:22:33,006 INFO L272 TraceCheckUtils]: 35: Hoare triple {1867#(= 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)); {1718#true} is VALID [2022-04-08 04:22:33,006 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1718#true} {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #84#return; {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:22:33,006 INFO L290 TraceCheckUtils]: 33: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 04:22:33,006 INFO L290 TraceCheckUtils]: 32: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 04:22:33,006 INFO L290 TraceCheckUtils]: 31: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 04:22:33,006 INFO L272 TraceCheckUtils]: 30: Hoare triple {1867#(= 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)); {1718#true} is VALID [2022-04-08 04:22:33,007 INFO L290 TraceCheckUtils]: 29: Hoare triple {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:22:33,007 INFO L290 TraceCheckUtils]: 28: Hoare triple {1867#(= 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; {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:22:33,007 INFO L290 TraceCheckUtils]: 27: Hoare triple {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:22:33,008 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1718#true} {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #82#return; {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:22:33,008 INFO L290 TraceCheckUtils]: 25: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 04:22:33,008 INFO L290 TraceCheckUtils]: 24: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 04:22:33,008 INFO L290 TraceCheckUtils]: 23: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 04:22:33,008 INFO L272 TraceCheckUtils]: 22: Hoare triple {1867#(= 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)); {1718#true} is VALID [2022-04-08 04:22:33,008 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1718#true} {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #80#return; {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:22:33,009 INFO L290 TraceCheckUtils]: 20: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 04:22:33,009 INFO L290 TraceCheckUtils]: 19: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 04:22:33,009 INFO L290 TraceCheckUtils]: 18: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 04:22:33,009 INFO L272 TraceCheckUtils]: 17: Hoare triple {1867#(= 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)); {1718#true} is VALID [2022-04-08 04:22:33,009 INFO L290 TraceCheckUtils]: 16: Hoare triple {1718#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; {1867#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:22:33,009 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1718#true} {1718#true} #78#return; {1718#true} is VALID [2022-04-08 04:22:33,009 INFO L290 TraceCheckUtils]: 14: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 04:22:33,009 INFO L290 TraceCheckUtils]: 13: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 04:22:33,010 INFO L290 TraceCheckUtils]: 12: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 04:22:33,010 INFO L272 TraceCheckUtils]: 11: Hoare triple {1718#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1718#true} is VALID [2022-04-08 04:22:33,010 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1718#true} {1718#true} #76#return; {1718#true} is VALID [2022-04-08 04:22:33,010 INFO L290 TraceCheckUtils]: 9: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 04:22:33,010 INFO L290 TraceCheckUtils]: 8: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 04:22:33,010 INFO L290 TraceCheckUtils]: 7: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 04:22:33,010 INFO L272 TraceCheckUtils]: 6: Hoare triple {1718#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1718#true} is VALID [2022-04-08 04:22:33,010 INFO L290 TraceCheckUtils]: 5: Hoare triple {1718#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; {1718#true} is VALID [2022-04-08 04:22:33,010 INFO L272 TraceCheckUtils]: 4: Hoare triple {1718#true} call #t~ret6 := main(); {1718#true} is VALID [2022-04-08 04:22:33,010 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1718#true} {1718#true} #96#return; {1718#true} is VALID [2022-04-08 04:22:33,010 INFO L290 TraceCheckUtils]: 2: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 04:22:33,011 INFO L290 TraceCheckUtils]: 1: Hoare triple {1718#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); {1718#true} is VALID [2022-04-08 04:22:33,011 INFO L272 TraceCheckUtils]: 0: Hoare triple {1718#true} call ULTIMATE.init(); {1718#true} is VALID [2022-04-08 04:22:33,011 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-08 04:22:33,011 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:22:33,011 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1953513574] [2022-04-08 04:22:33,011 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:22:33,011 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2138179816] [2022-04-08 04:22:33,011 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2138179816] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 04:22:33,011 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 04:22:33,011 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-08 04:22:33,012 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:22:33,012 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1763508522] [2022-04-08 04:22:33,012 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1763508522] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:33,012 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:33,012 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:22:33,012 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [714016721] [2022-04-08 04:22:33,012 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:22:33,012 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (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 44 [2022-04-08 04:22:33,013 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:22:33,013 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (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-08 04:22:33,028 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-08 04:22:33,028 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:22:33,028 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:33,029 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:22:33,029 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 04:22:33,029 INFO L87 Difference]: Start difference. First operand 52 states and 66 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (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-08 04:22:33,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:33,217 INFO L93 Difference]: Finished difference Result 59 states and 72 transitions. [2022-04-08 04:22:33,217 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:22:33,217 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (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 44 [2022-04-08 04:22:33,217 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:22:33,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (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-08 04:22:33,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 04:22:33,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (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-08 04:22:33,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 04:22:33,220 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-08 04:22:33,267 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:33,269 INFO L225 Difference]: With dead ends: 59 [2022-04-08 04:22:33,269 INFO L226 Difference]: Without dead ends: 57 [2022-04-08 04:22:33,269 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 79 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-08 04:22:33,270 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 7 mSDsluCounter, 91 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 132 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.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:22:33,270 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 132 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:22:33,270 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-08 04:22:33,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 56. [2022-04-08 04:22:33,302 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:22:33,302 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 34 states have internal predecessors, (35), 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-08 04:22:33,303 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 34 states have internal predecessors, (35), 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-08 04:22:33,303 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 34 states have internal predecessors, (35), 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-08 04:22:33,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:33,305 INFO L93 Difference]: Finished difference Result 57 states and 70 transitions. [2022-04-08 04:22:33,305 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 70 transitions. [2022-04-08 04:22:33,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:33,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:33,306 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 34 states have internal predecessors, (35), 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 57 states. [2022-04-08 04:22:33,306 INFO L87 Difference]: Start difference. First operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 34 states have internal predecessors, (35), 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 57 states. [2022-04-08 04:22:33,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:33,308 INFO L93 Difference]: Finished difference Result 57 states and 70 transitions. [2022-04-08 04:22:33,308 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 70 transitions. [2022-04-08 04:22:33,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:33,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:33,308 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:22:33,308 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:22:33,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 34 states have internal predecessors, (35), 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-08 04:22:33,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 69 transitions. [2022-04-08 04:22:33,310 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 69 transitions. Word has length 44 [2022-04-08 04:22:33,310 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:22:33,310 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 69 transitions. [2022-04-08 04:22:33,311 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (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-08 04:22:33,311 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 69 transitions. [2022-04-08 04:22:33,377 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-08 04:22:33,377 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 69 transitions. [2022-04-08 04:22:33,377 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 04:22:33,377 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:22:33,378 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:22:33,397 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-08 04:22:33,596 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:33,597 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:22:33,597 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:22:33,597 INFO L85 PathProgramCache]: Analyzing trace with hash -79102156, now seen corresponding path program 1 times [2022-04-08 04:22:33,597 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:33,597 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1003760833] [2022-04-08 04:22:33,598 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:22:33,598 INFO L85 PathProgramCache]: Analyzing trace with hash -79102156, now seen corresponding path program 2 times [2022-04-08 04:22:33,598 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:22:33,598 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [484322256] [2022-04-08 04:22:33,598 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:22:33,598 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:22:33,621 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:22:33,621 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1235055383] [2022-04-08 04:22:33,621 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:22:33,621 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:33,622 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:22:33,622 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-08 04:22:33,623 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-08 04:22:33,660 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:22:33,660 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:22:33,661 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 04:22:33,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:33,675 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:22:33,880 INFO L272 TraceCheckUtils]: 0: Hoare triple {2336#true} call ULTIMATE.init(); {2336#true} is VALID [2022-04-08 04:22:33,880 INFO L290 TraceCheckUtils]: 1: Hoare triple {2336#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); {2336#true} is VALID [2022-04-08 04:22:33,880 INFO L290 TraceCheckUtils]: 2: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-08 04:22:33,880 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2336#true} {2336#true} #96#return; {2336#true} is VALID [2022-04-08 04:22:33,880 INFO L272 TraceCheckUtils]: 4: Hoare triple {2336#true} call #t~ret6 := main(); {2336#true} is VALID [2022-04-08 04:22:33,880 INFO L290 TraceCheckUtils]: 5: Hoare triple {2336#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; {2336#true} is VALID [2022-04-08 04:22:33,880 INFO L272 TraceCheckUtils]: 6: Hoare triple {2336#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2336#true} is VALID [2022-04-08 04:22:33,880 INFO L290 TraceCheckUtils]: 7: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-08 04:22:33,881 INFO L290 TraceCheckUtils]: 8: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-08 04:22:33,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-08 04:22:33,881 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2336#true} {2336#true} #76#return; {2336#true} is VALID [2022-04-08 04:22:33,881 INFO L272 TraceCheckUtils]: 11: Hoare triple {2336#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2336#true} is VALID [2022-04-08 04:22:33,881 INFO L290 TraceCheckUtils]: 12: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-08 04:22:33,881 INFO L290 TraceCheckUtils]: 13: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-08 04:22:33,881 INFO L290 TraceCheckUtils]: 14: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-08 04:22:33,881 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2336#true} {2336#true} #78#return; {2336#true} is VALID [2022-04-08 04:22:33,882 INFO L290 TraceCheckUtils]: 16: Hoare triple {2336#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; {2389#(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-08 04:22:33,882 INFO L272 TraceCheckUtils]: 17: Hoare triple {2389#(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)); {2336#true} is VALID [2022-04-08 04:22:33,882 INFO L290 TraceCheckUtils]: 18: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-08 04:22:33,882 INFO L290 TraceCheckUtils]: 19: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-08 04:22:33,882 INFO L290 TraceCheckUtils]: 20: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-08 04:22:33,884 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2336#true} {2389#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #80#return; {2389#(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-08 04:22:33,884 INFO L272 TraceCheckUtils]: 22: Hoare triple {2389#(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)); {2336#true} is VALID [2022-04-08 04:22:33,884 INFO L290 TraceCheckUtils]: 23: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-08 04:22:33,885 INFO L290 TraceCheckUtils]: 24: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-08 04:22:33,885 INFO L290 TraceCheckUtils]: 25: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-08 04:22:33,885 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2336#true} {2389#(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; {2389#(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-08 04:22:33,885 INFO L290 TraceCheckUtils]: 27: Hoare triple {2389#(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 !false; {2389#(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-08 04:22:33,886 INFO L290 TraceCheckUtils]: 28: Hoare triple {2389#(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; {2389#(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-08 04:22:33,886 INFO L290 TraceCheckUtils]: 29: Hoare triple {2389#(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 !false; {2389#(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-08 04:22:33,886 INFO L272 TraceCheckUtils]: 30: Hoare triple {2389#(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)); {2336#true} is VALID [2022-04-08 04:22:33,886 INFO L290 TraceCheckUtils]: 31: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-08 04:22:33,886 INFO L290 TraceCheckUtils]: 32: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-08 04:22:33,886 INFO L290 TraceCheckUtils]: 33: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-08 04:22:33,887 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2336#true} {2389#(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; {2389#(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-08 04:22:33,887 INFO L272 TraceCheckUtils]: 35: Hoare triple {2389#(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)); {2336#true} is VALID [2022-04-08 04:22:33,887 INFO L290 TraceCheckUtils]: 36: Hoare triple {2336#true} ~cond := #in~cond; {2450#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:33,887 INFO L290 TraceCheckUtils]: 37: Hoare triple {2450#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2454#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:22:33,888 INFO L290 TraceCheckUtils]: 38: Hoare triple {2454#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2454#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:22:33,889 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2454#(not (= |__VERIFIER_assert_#in~cond| 0))} {2389#(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; {2389#(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-08 04:22:33,889 INFO L272 TraceCheckUtils]: 40: Hoare triple {2389#(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)); {2336#true} is VALID [2022-04-08 04:22:33,890 INFO L290 TraceCheckUtils]: 41: Hoare triple {2336#true} ~cond := #in~cond; {2450#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:33,890 INFO L290 TraceCheckUtils]: 42: Hoare triple {2450#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2454#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:22:33,890 INFO L290 TraceCheckUtils]: 43: Hoare triple {2454#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2454#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:22:33,890 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2454#(not (= |__VERIFIER_assert_#in~cond| 0))} {2389#(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; {2389#(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-08 04:22:33,891 INFO L272 TraceCheckUtils]: 45: Hoare triple {2389#(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)); {2479#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:22:33,891 INFO L290 TraceCheckUtils]: 46: Hoare triple {2479#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2483#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:33,892 INFO L290 TraceCheckUtils]: 47: Hoare triple {2483#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2337#false} is VALID [2022-04-08 04:22:33,892 INFO L290 TraceCheckUtils]: 48: Hoare triple {2337#false} assume !false; {2337#false} is VALID [2022-04-08 04:22:33,892 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-08 04:22:33,892 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:23:07,921 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:23:07,921 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [484322256] [2022-04-08 04:23:07,922 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:23:07,922 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1235055383] [2022-04-08 04:23:07,922 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1235055383] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 04:23:07,922 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 04:23:07,922 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2022-04-08 04:23:07,922 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:23:07,922 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1003760833] [2022-04-08 04:23:07,922 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1003760833] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:23:07,922 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:23:07,922 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 04:23:07,922 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1870925715] [2022-04-08 04:23:07,922 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:23:07,923 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 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 49 [2022-04-08 04:23:07,923 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:23:07,923 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 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-08 04:23:07,954 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:07,954 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 04:23:07,954 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:07,954 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 04:23:07,955 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-08 04:23:07,955 INFO L87 Difference]: Start difference. First operand 56 states and 69 transitions. Second operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 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-08 04:23:08,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:08,303 INFO L93 Difference]: Finished difference Result 63 states and 75 transitions. [2022-04-08 04:23:08,303 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 04:23:08,303 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 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 49 [2022-04-08 04:23:08,304 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:23:08,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 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-08 04:23:08,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-08 04:23:08,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 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-08 04:23:08,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-08 04:23:08,306 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-08 04:23:08,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:08,353 INFO L225 Difference]: With dead ends: 63 [2022-04-08 04:23:08,353 INFO L226 Difference]: Without dead ends: 61 [2022-04-08 04:23:08,353 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 45 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-08 04:23:08,354 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 12 mSDsluCounter, 84 mSDsCounter, 0 mSdLazyCounter, 104 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 107 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 104 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:23:08,354 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 115 Invalid, 107 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 104 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:23:08,355 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-08 04:23:08,394 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 60. [2022-04-08 04:23:08,394 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:23:08,394 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 60 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 37 states have internal predecessors, (38), 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-08 04:23:08,394 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 60 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 37 states have internal predecessors, (38), 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-08 04:23:08,395 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 60 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 37 states have internal predecessors, (38), 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-08 04:23:08,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:08,397 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2022-04-08 04:23:08,397 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2022-04-08 04:23:08,397 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:08,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:08,397 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 37 states have internal predecessors, (38), 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 61 states. [2022-04-08 04:23:08,397 INFO L87 Difference]: Start difference. First operand has 60 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 37 states have internal predecessors, (38), 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 61 states. [2022-04-08 04:23:08,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:08,399 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2022-04-08 04:23:08,399 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2022-04-08 04:23:08,399 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:08,399 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:08,400 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:23:08,400 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:23:08,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 37 states have internal predecessors, (38), 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-08 04:23:08,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 72 transitions. [2022-04-08 04:23:08,401 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 72 transitions. Word has length 49 [2022-04-08 04:23:08,402 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:23:08,402 INFO L478 AbstractCegarLoop]: Abstraction has 60 states and 72 transitions. [2022-04-08 04:23:08,402 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 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-08 04:23:08,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 60 states and 72 transitions. [2022-04-08 04:23:08,477 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:08,477 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2022-04-08 04:23:08,478 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-08 04:23:08,478 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:23:08,478 INFO L499 BasicCegarLoop]: 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] [2022-04-08 04:23:08,511 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-08 04:23:08,678 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:23:08,678 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:23:08,679 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:23:08,679 INFO L85 PathProgramCache]: Analyzing trace with hash -2126113716, now seen corresponding path program 1 times [2022-04-08 04:23:08,679 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:08,679 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [10437979] [2022-04-08 04:23:08,679 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:23:08,679 INFO L85 PathProgramCache]: Analyzing trace with hash -2126113716, now seen corresponding path program 2 times [2022-04-08 04:23:08,679 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:23:08,679 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [716324836] [2022-04-08 04:23:08,680 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:23:08,680 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:23:08,690 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:23:08,690 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1490617716] [2022-04-08 04:23:08,690 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:23:08,690 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:23:08,690 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:23:08,694 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-08 04:23:08,695 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-08 04:23:08,736 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:23:08,736 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:23:08,737 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 04:23:08,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:23:08,747 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:23:08,912 INFO L272 TraceCheckUtils]: 0: Hoare triple {2878#true} call ULTIMATE.init(); {2878#true} is VALID [2022-04-08 04:23:08,913 INFO L290 TraceCheckUtils]: 1: Hoare triple {2878#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); {2878#true} is VALID [2022-04-08 04:23:08,913 INFO L290 TraceCheckUtils]: 2: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:08,913 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2878#true} {2878#true} #96#return; {2878#true} is VALID [2022-04-08 04:23:08,913 INFO L272 TraceCheckUtils]: 4: Hoare triple {2878#true} call #t~ret6 := main(); {2878#true} is VALID [2022-04-08 04:23:08,913 INFO L290 TraceCheckUtils]: 5: Hoare triple {2878#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; {2878#true} is VALID [2022-04-08 04:23:08,913 INFO L272 TraceCheckUtils]: 6: Hoare triple {2878#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2878#true} is VALID [2022-04-08 04:23:08,913 INFO L290 TraceCheckUtils]: 7: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 04:23:08,913 INFO L290 TraceCheckUtils]: 8: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 04:23:08,913 INFO L290 TraceCheckUtils]: 9: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:08,913 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2878#true} {2878#true} #76#return; {2878#true} is VALID [2022-04-08 04:23:08,913 INFO L272 TraceCheckUtils]: 11: Hoare triple {2878#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2878#true} is VALID [2022-04-08 04:23:08,913 INFO L290 TraceCheckUtils]: 12: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 04:23:08,914 INFO L290 TraceCheckUtils]: 13: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 04:23:08,914 INFO L290 TraceCheckUtils]: 14: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:08,914 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2878#true} {2878#true} #78#return; {2878#true} is VALID [2022-04-08 04:23:08,914 INFO L290 TraceCheckUtils]: 16: Hoare triple {2878#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; {2878#true} is VALID [2022-04-08 04:23:08,914 INFO L272 TraceCheckUtils]: 17: Hoare triple {2878#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2878#true} is VALID [2022-04-08 04:23:08,914 INFO L290 TraceCheckUtils]: 18: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 04:23:08,914 INFO L290 TraceCheckUtils]: 19: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 04:23:08,914 INFO L290 TraceCheckUtils]: 20: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:08,914 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2878#true} {2878#true} #80#return; {2878#true} is VALID [2022-04-08 04:23:08,914 INFO L272 TraceCheckUtils]: 22: Hoare triple {2878#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2878#true} is VALID [2022-04-08 04:23:08,914 INFO L290 TraceCheckUtils]: 23: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 04:23:08,914 INFO L290 TraceCheckUtils]: 24: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 04:23:08,914 INFO L290 TraceCheckUtils]: 25: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:08,915 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2878#true} {2878#true} #82#return; {2878#true} is VALID [2022-04-08 04:23:08,915 INFO L290 TraceCheckUtils]: 27: Hoare triple {2878#true} assume !false; {2878#true} is VALID [2022-04-08 04:23:08,918 INFO L290 TraceCheckUtils]: 28: Hoare triple {2878#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 04:23:08,918 INFO L290 TraceCheckUtils]: 29: Hoare triple {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !false; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 04:23:08,918 INFO L272 TraceCheckUtils]: 30: Hoare triple {2967#(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)); {2878#true} is VALID [2022-04-08 04:23:08,919 INFO L290 TraceCheckUtils]: 31: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 04:23:08,919 INFO L290 TraceCheckUtils]: 32: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 04:23:08,919 INFO L290 TraceCheckUtils]: 33: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:08,920 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2878#true} {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #84#return; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 04:23:08,920 INFO L272 TraceCheckUtils]: 35: Hoare triple {2967#(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)); {2878#true} is VALID [2022-04-08 04:23:08,920 INFO L290 TraceCheckUtils]: 36: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 04:23:08,920 INFO L290 TraceCheckUtils]: 37: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 04:23:08,920 INFO L290 TraceCheckUtils]: 38: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:08,921 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2878#true} {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #86#return; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 04:23:08,921 INFO L272 TraceCheckUtils]: 40: Hoare triple {2967#(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)); {2878#true} is VALID [2022-04-08 04:23:08,921 INFO L290 TraceCheckUtils]: 41: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 04:23:08,921 INFO L290 TraceCheckUtils]: 42: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 04:23:08,921 INFO L290 TraceCheckUtils]: 43: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:08,926 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2878#true} {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #88#return; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 04:23:08,926 INFO L272 TraceCheckUtils]: 45: Hoare triple {2967#(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)); {2878#true} is VALID [2022-04-08 04:23:08,926 INFO L290 TraceCheckUtils]: 46: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 04:23:08,926 INFO L290 TraceCheckUtils]: 47: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 04:23:08,926 INFO L290 TraceCheckUtils]: 48: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:08,927 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2878#true} {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #90#return; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 04:23:08,927 INFO L290 TraceCheckUtils]: 50: Hoare triple {2967#(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; {3034#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} is VALID [2022-04-08 04:23:08,928 INFO L290 TraceCheckUtils]: 51: Hoare triple {3034#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} assume !false; {3034#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1))} is VALID [2022-04-08 04:23:08,928 INFO L272 TraceCheckUtils]: 52: Hoare triple {3034#(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)); {3041#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:08,928 INFO L290 TraceCheckUtils]: 53: Hoare triple {3041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:08,929 INFO L290 TraceCheckUtils]: 54: Hoare triple {3045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2879#false} is VALID [2022-04-08 04:23:08,929 INFO L290 TraceCheckUtils]: 55: Hoare triple {2879#false} assume !false; {2879#false} is VALID [2022-04-08 04:23:08,929 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-08 04:23:08,929 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:23:30,312 INFO L290 TraceCheckUtils]: 55: Hoare triple {2879#false} assume !false; {2879#false} is VALID [2022-04-08 04:23:30,313 INFO L290 TraceCheckUtils]: 54: Hoare triple {3045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2879#false} is VALID [2022-04-08 04:23:30,313 INFO L290 TraceCheckUtils]: 53: Hoare triple {3041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:30,314 INFO L272 TraceCheckUtils]: 52: Hoare triple {3061#(= 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)); {3041#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:30,314 INFO L290 TraceCheckUtils]: 51: Hoare triple {3061#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {3061#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:23:30,315 INFO L290 TraceCheckUtils]: 50: Hoare triple {2967#(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; {3061#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:23:30,316 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2878#true} {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #90#return; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 04:23:30,316 INFO L290 TraceCheckUtils]: 48: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:30,316 INFO L290 TraceCheckUtils]: 47: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 04:23:30,316 INFO L290 TraceCheckUtils]: 46: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 04:23:30,316 INFO L272 TraceCheckUtils]: 45: Hoare triple {2967#(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)); {2878#true} is VALID [2022-04-08 04:23:30,316 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2878#true} {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #88#return; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 04:23:30,317 INFO L290 TraceCheckUtils]: 43: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:30,317 INFO L290 TraceCheckUtils]: 42: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 04:23:30,317 INFO L290 TraceCheckUtils]: 41: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 04:23:30,317 INFO L272 TraceCheckUtils]: 40: Hoare triple {2967#(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)); {2878#true} is VALID [2022-04-08 04:23:30,317 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2878#true} {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #86#return; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 04:23:30,317 INFO L290 TraceCheckUtils]: 38: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:30,318 INFO L290 TraceCheckUtils]: 37: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 04:23:30,318 INFO L290 TraceCheckUtils]: 36: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 04:23:30,318 INFO L272 TraceCheckUtils]: 35: Hoare triple {2967#(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)); {2878#true} is VALID [2022-04-08 04:23:30,318 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2878#true} {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #84#return; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 04:23:30,318 INFO L290 TraceCheckUtils]: 33: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:30,318 INFO L290 TraceCheckUtils]: 32: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 04:23:30,318 INFO L290 TraceCheckUtils]: 31: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 04:23:30,318 INFO L272 TraceCheckUtils]: 30: Hoare triple {2967#(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)); {2878#true} is VALID [2022-04-08 04:23:30,319 INFO L290 TraceCheckUtils]: 29: Hoare triple {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !false; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 04:23:30,319 INFO L290 TraceCheckUtils]: 28: Hoare triple {2878#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2967#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-08 04:23:30,319 INFO L290 TraceCheckUtils]: 27: Hoare triple {2878#true} assume !false; {2878#true} is VALID [2022-04-08 04:23:30,319 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2878#true} {2878#true} #82#return; {2878#true} is VALID [2022-04-08 04:23:30,319 INFO L290 TraceCheckUtils]: 25: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:30,319 INFO L290 TraceCheckUtils]: 24: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 04:23:30,319 INFO L290 TraceCheckUtils]: 23: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 04:23:30,319 INFO L272 TraceCheckUtils]: 22: Hoare triple {2878#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2878#true} is VALID [2022-04-08 04:23:30,320 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2878#true} {2878#true} #80#return; {2878#true} is VALID [2022-04-08 04:23:30,320 INFO L290 TraceCheckUtils]: 20: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:30,320 INFO L290 TraceCheckUtils]: 19: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 04:23:30,320 INFO L290 TraceCheckUtils]: 18: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 04:23:30,320 INFO L272 TraceCheckUtils]: 17: Hoare triple {2878#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2878#true} is VALID [2022-04-08 04:23:30,320 INFO L290 TraceCheckUtils]: 16: Hoare triple {2878#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; {2878#true} is VALID [2022-04-08 04:23:30,320 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2878#true} {2878#true} #78#return; {2878#true} is VALID [2022-04-08 04:23:30,320 INFO L290 TraceCheckUtils]: 14: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:30,320 INFO L290 TraceCheckUtils]: 13: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 04:23:30,320 INFO L290 TraceCheckUtils]: 12: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 04:23:30,320 INFO L272 TraceCheckUtils]: 11: Hoare triple {2878#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2878#true} is VALID [2022-04-08 04:23:30,320 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2878#true} {2878#true} #76#return; {2878#true} is VALID [2022-04-08 04:23:30,320 INFO L290 TraceCheckUtils]: 9: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:30,320 INFO L290 TraceCheckUtils]: 8: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 04:23:30,320 INFO L290 TraceCheckUtils]: 7: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 04:23:30,321 INFO L272 TraceCheckUtils]: 6: Hoare triple {2878#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2878#true} is VALID [2022-04-08 04:23:30,321 INFO L290 TraceCheckUtils]: 5: Hoare triple {2878#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; {2878#true} is VALID [2022-04-08 04:23:30,321 INFO L272 TraceCheckUtils]: 4: Hoare triple {2878#true} call #t~ret6 := main(); {2878#true} is VALID [2022-04-08 04:23:30,321 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2878#true} {2878#true} #96#return; {2878#true} is VALID [2022-04-08 04:23:30,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 04:23:30,321 INFO L290 TraceCheckUtils]: 1: Hoare triple {2878#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); {2878#true} is VALID [2022-04-08 04:23:30,321 INFO L272 TraceCheckUtils]: 0: Hoare triple {2878#true} call ULTIMATE.init(); {2878#true} is VALID [2022-04-08 04:23:30,321 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-08 04:23:30,321 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:23:30,321 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [716324836] [2022-04-08 04:23:30,321 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:23:30,321 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1490617716] [2022-04-08 04:23:30,321 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1490617716] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:23:30,322 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:23:30,322 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-08 04:23:30,322 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:23:30,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [10437979] [2022-04-08 04:23:30,322 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [10437979] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:23:30,322 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:23:30,322 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:23:30,322 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1511960627] [2022-04-08 04:23:30,322 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:23:30,322 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-08 04:23:30,323 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:23:30,323 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 04:23:30,349 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:30,349 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 04:23:30,349 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:30,349 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 04:23:30,349 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 04:23:30,350 INFO L87 Difference]: Start difference. First operand 60 states and 72 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 04:23:30,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:30,674 INFO L93 Difference]: Finished difference Result 88 states and 117 transitions. [2022-04-08 04:23:30,674 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 04:23:30,675 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-08 04:23:30,675 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:23:30,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 04:23:30,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-08 04:23:30,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 04:23:30,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-08 04:23:30,677 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2022-04-08 04:23:30,729 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-08 04:23:30,731 INFO L225 Difference]: With dead ends: 88 [2022-04-08 04:23:30,731 INFO L226 Difference]: Without dead ends: 86 [2022-04-08 04:23:30,731 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 104 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-08 04:23:30,732 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 7 mSDsluCounter, 135 mSDsCounter, 0 mSdLazyCounter, 88 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 182 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-08 04:23:30,732 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 182 Invalid, 89 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 88 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:23:30,732 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-08 04:23:30,784 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 76. [2022-04-08 04:23:30,784 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:23:30,784 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 76 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 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-08 04:23:30,784 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 76 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 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-08 04:23:30,785 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 76 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 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-08 04:23:30,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:30,787 INFO L93 Difference]: Finished difference Result 86 states and 115 transitions. [2022-04-08 04:23:30,787 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 115 transitions. [2022-04-08 04:23:30,788 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:30,788 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:30,788 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 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 86 states. [2022-04-08 04:23:30,788 INFO L87 Difference]: Start difference. First operand has 76 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 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 86 states. [2022-04-08 04:23:30,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:30,791 INFO L93 Difference]: Finished difference Result 86 states and 115 transitions. [2022-04-08 04:23:30,791 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 115 transitions. [2022-04-08 04:23:30,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:30,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:30,791 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:23:30,791 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:23:30,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 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-08 04:23:30,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 97 transitions. [2022-04-08 04:23:30,794 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 97 transitions. Word has length 56 [2022-04-08 04:23:30,794 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:23:30,794 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 97 transitions. [2022-04-08 04:23:30,794 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 04:23:30,794 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 97 transitions. [2022-04-08 04:23:30,921 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-08 04:23:30,921 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 97 transitions. [2022-04-08 04:23:30,922 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-08 04:23:30,922 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:23:30,922 INFO L499 BasicCegarLoop]: 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] [2022-04-08 04:23:30,959 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-08 04:23:31,137 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:23:31,138 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:23:31,138 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:23:31,138 INFO L85 PathProgramCache]: Analyzing trace with hash -1051433450, now seen corresponding path program 1 times [2022-04-08 04:23:31,138 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:31,138 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [916208039] [2022-04-08 04:23:31,138 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:23:31,138 INFO L85 PathProgramCache]: Analyzing trace with hash -1051433450, now seen corresponding path program 2 times [2022-04-08 04:23:31,139 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:23:31,139 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1834105264] [2022-04-08 04:23:31,139 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:23:31,139 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:23:31,155 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:23:31,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [454912486] [2022-04-08 04:23:31,156 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:23:31,156 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:23:31,156 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:23:31,168 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-08 04:23:31,168 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-08 04:23:31,208 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:23:31,209 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:23:31,209 INFO L263 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 04:23:31,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:23:31,219 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:23:31,420 INFO L272 TraceCheckUtils]: 0: Hoare triple {3722#true} call ULTIMATE.init(); {3722#true} is VALID [2022-04-08 04:23:31,420 INFO L290 TraceCheckUtils]: 1: Hoare triple {3722#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); {3722#true} is VALID [2022-04-08 04:23:31,420 INFO L290 TraceCheckUtils]: 2: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 04:23:31,421 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3722#true} {3722#true} #96#return; {3722#true} is VALID [2022-04-08 04:23:31,421 INFO L272 TraceCheckUtils]: 4: Hoare triple {3722#true} call #t~ret6 := main(); {3722#true} is VALID [2022-04-08 04:23:31,421 INFO L290 TraceCheckUtils]: 5: Hoare triple {3722#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; {3722#true} is VALID [2022-04-08 04:23:31,421 INFO L272 TraceCheckUtils]: 6: Hoare triple {3722#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3722#true} is VALID [2022-04-08 04:23:31,421 INFO L290 TraceCheckUtils]: 7: Hoare triple {3722#true} ~cond := #in~cond; {3748#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:23:31,421 INFO L290 TraceCheckUtils]: 8: Hoare triple {3748#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3752#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:23:31,422 INFO L290 TraceCheckUtils]: 9: Hoare triple {3752#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3752#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:23:31,422 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3752#(not (= |assume_abort_if_not_#in~cond| 0))} {3722#true} #76#return; {3759#(<= 1 main_~x~0)} is VALID [2022-04-08 04:23:31,422 INFO L272 TraceCheckUtils]: 11: Hoare triple {3759#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3722#true} is VALID [2022-04-08 04:23:31,422 INFO L290 TraceCheckUtils]: 12: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 04:23:31,422 INFO L290 TraceCheckUtils]: 13: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 04:23:31,422 INFO L290 TraceCheckUtils]: 14: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 04:23:31,423 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3722#true} {3759#(<= 1 main_~x~0)} #78#return; {3759#(<= 1 main_~x~0)} is VALID [2022-04-08 04:23:31,423 INFO L290 TraceCheckUtils]: 16: Hoare triple {3759#(<= 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; {3778#(<= 1 main_~a~0)} is VALID [2022-04-08 04:23:31,423 INFO L272 TraceCheckUtils]: 17: Hoare triple {3778#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3722#true} is VALID [2022-04-08 04:23:31,423 INFO L290 TraceCheckUtils]: 18: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 04:23:31,423 INFO L290 TraceCheckUtils]: 19: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 04:23:31,424 INFO L290 TraceCheckUtils]: 20: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 04:23:31,424 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3722#true} {3778#(<= 1 main_~a~0)} #80#return; {3778#(<= 1 main_~a~0)} is VALID [2022-04-08 04:23:31,424 INFO L272 TraceCheckUtils]: 22: Hoare triple {3778#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3722#true} is VALID [2022-04-08 04:23:31,424 INFO L290 TraceCheckUtils]: 23: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 04:23:31,424 INFO L290 TraceCheckUtils]: 24: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 04:23:31,424 INFO L290 TraceCheckUtils]: 25: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 04:23:31,425 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3722#true} {3778#(<= 1 main_~a~0)} #82#return; {3778#(<= 1 main_~a~0)} is VALID [2022-04-08 04:23:31,425 INFO L290 TraceCheckUtils]: 27: Hoare triple {3778#(<= 1 main_~a~0)} assume !false; {3778#(<= 1 main_~a~0)} is VALID [2022-04-08 04:23:31,425 INFO L290 TraceCheckUtils]: 28: Hoare triple {3778#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3815#(<= 1 main_~c~0)} is VALID [2022-04-08 04:23:31,426 INFO L290 TraceCheckUtils]: 29: Hoare triple {3815#(<= 1 main_~c~0)} assume !false; {3815#(<= 1 main_~c~0)} is VALID [2022-04-08 04:23:31,426 INFO L272 TraceCheckUtils]: 30: Hoare triple {3815#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3722#true} is VALID [2022-04-08 04:23:31,426 INFO L290 TraceCheckUtils]: 31: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 04:23:31,426 INFO L290 TraceCheckUtils]: 32: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 04:23:31,426 INFO L290 TraceCheckUtils]: 33: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 04:23:31,426 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3722#true} {3815#(<= 1 main_~c~0)} #84#return; {3815#(<= 1 main_~c~0)} is VALID [2022-04-08 04:23:31,427 INFO L272 TraceCheckUtils]: 35: Hoare triple {3815#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3722#true} is VALID [2022-04-08 04:23:31,427 INFO L290 TraceCheckUtils]: 36: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 04:23:31,427 INFO L290 TraceCheckUtils]: 37: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 04:23:31,427 INFO L290 TraceCheckUtils]: 38: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 04:23:31,427 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3722#true} {3815#(<= 1 main_~c~0)} #86#return; {3815#(<= 1 main_~c~0)} is VALID [2022-04-08 04:23:31,427 INFO L272 TraceCheckUtils]: 40: Hoare triple {3815#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3722#true} is VALID [2022-04-08 04:23:31,427 INFO L290 TraceCheckUtils]: 41: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 04:23:31,428 INFO L290 TraceCheckUtils]: 42: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 04:23:31,428 INFO L290 TraceCheckUtils]: 43: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 04:23:31,428 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3722#true} {3815#(<= 1 main_~c~0)} #88#return; {3815#(<= 1 main_~c~0)} is VALID [2022-04-08 04:23:31,428 INFO L272 TraceCheckUtils]: 45: Hoare triple {3815#(<= 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)); {3722#true} is VALID [2022-04-08 04:23:31,428 INFO L290 TraceCheckUtils]: 46: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 04:23:31,428 INFO L290 TraceCheckUtils]: 47: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 04:23:31,428 INFO L290 TraceCheckUtils]: 48: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 04:23:31,429 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {3722#true} {3815#(<= 1 main_~c~0)} #90#return; {3815#(<= 1 main_~c~0)} is VALID [2022-04-08 04:23:31,429 INFO L290 TraceCheckUtils]: 50: Hoare triple {3815#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3815#(<= 1 main_~c~0)} is VALID [2022-04-08 04:23:31,430 INFO L290 TraceCheckUtils]: 51: Hoare triple {3815#(<= 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; {3885#(<= 1 main_~b~0)} is VALID [2022-04-08 04:23:31,430 INFO L290 TraceCheckUtils]: 52: Hoare triple {3885#(<= 1 main_~b~0)} assume !false; {3885#(<= 1 main_~b~0)} is VALID [2022-04-08 04:23:31,430 INFO L290 TraceCheckUtils]: 53: Hoare triple {3885#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3723#false} is VALID [2022-04-08 04:23:31,431 INFO L272 TraceCheckUtils]: 54: Hoare triple {3723#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3723#false} is VALID [2022-04-08 04:23:31,431 INFO L290 TraceCheckUtils]: 55: Hoare triple {3723#false} ~cond := #in~cond; {3723#false} is VALID [2022-04-08 04:23:31,431 INFO L290 TraceCheckUtils]: 56: Hoare triple {3723#false} assume 0 == ~cond; {3723#false} is VALID [2022-04-08 04:23:31,431 INFO L290 TraceCheckUtils]: 57: Hoare triple {3723#false} assume !false; {3723#false} is VALID [2022-04-08 04:23:31,431 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 8 proven. 11 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-08 04:23:31,431 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:23:31,699 INFO L290 TraceCheckUtils]: 57: Hoare triple {3723#false} assume !false; {3723#false} is VALID [2022-04-08 04:23:31,700 INFO L290 TraceCheckUtils]: 56: Hoare triple {3723#false} assume 0 == ~cond; {3723#false} is VALID [2022-04-08 04:23:31,700 INFO L290 TraceCheckUtils]: 55: Hoare triple {3723#false} ~cond := #in~cond; {3723#false} is VALID [2022-04-08 04:23:31,700 INFO L272 TraceCheckUtils]: 54: Hoare triple {3723#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3723#false} is VALID [2022-04-08 04:23:31,700 INFO L290 TraceCheckUtils]: 53: Hoare triple {3885#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3723#false} is VALID [2022-04-08 04:23:31,700 INFO L290 TraceCheckUtils]: 52: Hoare triple {3885#(<= 1 main_~b~0)} assume !false; {3885#(<= 1 main_~b~0)} is VALID [2022-04-08 04:23:31,701 INFO L290 TraceCheckUtils]: 51: Hoare triple {3815#(<= 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; {3885#(<= 1 main_~b~0)} is VALID [2022-04-08 04:23:31,701 INFO L290 TraceCheckUtils]: 50: Hoare triple {3815#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3815#(<= 1 main_~c~0)} is VALID [2022-04-08 04:23:31,701 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {3722#true} {3815#(<= 1 main_~c~0)} #90#return; {3815#(<= 1 main_~c~0)} is VALID [2022-04-08 04:23:31,701 INFO L290 TraceCheckUtils]: 48: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 04:23:31,701 INFO L290 TraceCheckUtils]: 47: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 04:23:31,701 INFO L290 TraceCheckUtils]: 46: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 04:23:31,702 INFO L272 TraceCheckUtils]: 45: Hoare triple {3815#(<= 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)); {3722#true} is VALID [2022-04-08 04:23:31,702 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3722#true} {3815#(<= 1 main_~c~0)} #88#return; {3815#(<= 1 main_~c~0)} is VALID [2022-04-08 04:23:31,702 INFO L290 TraceCheckUtils]: 43: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 04:23:31,702 INFO L290 TraceCheckUtils]: 42: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 04:23:31,702 INFO L290 TraceCheckUtils]: 41: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 04:23:31,702 INFO L272 TraceCheckUtils]: 40: Hoare triple {3815#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3722#true} is VALID [2022-04-08 04:23:31,703 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3722#true} {3815#(<= 1 main_~c~0)} #86#return; {3815#(<= 1 main_~c~0)} is VALID [2022-04-08 04:23:31,703 INFO L290 TraceCheckUtils]: 38: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 04:23:31,703 INFO L290 TraceCheckUtils]: 37: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 04:23:31,703 INFO L290 TraceCheckUtils]: 36: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 04:23:31,703 INFO L272 TraceCheckUtils]: 35: Hoare triple {3815#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3722#true} is VALID [2022-04-08 04:23:31,703 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3722#true} {3815#(<= 1 main_~c~0)} #84#return; {3815#(<= 1 main_~c~0)} is VALID [2022-04-08 04:23:31,703 INFO L290 TraceCheckUtils]: 33: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 04:23:31,703 INFO L290 TraceCheckUtils]: 32: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 04:23:31,703 INFO L290 TraceCheckUtils]: 31: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 04:23:31,703 INFO L272 TraceCheckUtils]: 30: Hoare triple {3815#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3722#true} is VALID [2022-04-08 04:23:31,704 INFO L290 TraceCheckUtils]: 29: Hoare triple {3815#(<= 1 main_~c~0)} assume !false; {3815#(<= 1 main_~c~0)} is VALID [2022-04-08 04:23:31,704 INFO L290 TraceCheckUtils]: 28: Hoare triple {3778#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3815#(<= 1 main_~c~0)} is VALID [2022-04-08 04:23:31,704 INFO L290 TraceCheckUtils]: 27: Hoare triple {3778#(<= 1 main_~a~0)} assume !false; {3778#(<= 1 main_~a~0)} is VALID [2022-04-08 04:23:31,705 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3722#true} {3778#(<= 1 main_~a~0)} #82#return; {3778#(<= 1 main_~a~0)} is VALID [2022-04-08 04:23:31,705 INFO L290 TraceCheckUtils]: 25: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 04:23:31,705 INFO L290 TraceCheckUtils]: 24: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 04:23:31,705 INFO L290 TraceCheckUtils]: 23: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 04:23:31,705 INFO L272 TraceCheckUtils]: 22: Hoare triple {3778#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3722#true} is VALID [2022-04-08 04:23:31,705 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3722#true} {3778#(<= 1 main_~a~0)} #80#return; {3778#(<= 1 main_~a~0)} is VALID [2022-04-08 04:23:31,705 INFO L290 TraceCheckUtils]: 20: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 04:23:31,705 INFO L290 TraceCheckUtils]: 19: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 04:23:31,705 INFO L290 TraceCheckUtils]: 18: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 04:23:31,705 INFO L272 TraceCheckUtils]: 17: Hoare triple {3778#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3722#true} is VALID [2022-04-08 04:23:31,706 INFO L290 TraceCheckUtils]: 16: Hoare triple {3759#(<= 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; {3778#(<= 1 main_~a~0)} is VALID [2022-04-08 04:23:31,706 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3722#true} {3759#(<= 1 main_~x~0)} #78#return; {3759#(<= 1 main_~x~0)} is VALID [2022-04-08 04:23:31,706 INFO L290 TraceCheckUtils]: 14: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 04:23:31,713 INFO L290 TraceCheckUtils]: 13: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 04:23:31,713 INFO L290 TraceCheckUtils]: 12: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 04:23:31,713 INFO L272 TraceCheckUtils]: 11: Hoare triple {3759#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3722#true} is VALID [2022-04-08 04:23:31,714 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3752#(not (= |assume_abort_if_not_#in~cond| 0))} {3722#true} #76#return; {3759#(<= 1 main_~x~0)} is VALID [2022-04-08 04:23:31,714 INFO L290 TraceCheckUtils]: 9: Hoare triple {3752#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3752#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:23:31,714 INFO L290 TraceCheckUtils]: 8: Hoare triple {4054#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3752#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:23:31,715 INFO L290 TraceCheckUtils]: 7: Hoare triple {3722#true} ~cond := #in~cond; {4054#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 04:23:31,715 INFO L272 TraceCheckUtils]: 6: Hoare triple {3722#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3722#true} is VALID [2022-04-08 04:23:31,715 INFO L290 TraceCheckUtils]: 5: Hoare triple {3722#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; {3722#true} is VALID [2022-04-08 04:23:31,715 INFO L272 TraceCheckUtils]: 4: Hoare triple {3722#true} call #t~ret6 := main(); {3722#true} is VALID [2022-04-08 04:23:31,715 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3722#true} {3722#true} #96#return; {3722#true} is VALID [2022-04-08 04:23:31,715 INFO L290 TraceCheckUtils]: 2: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 04:23:31,715 INFO L290 TraceCheckUtils]: 1: Hoare triple {3722#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); {3722#true} is VALID [2022-04-08 04:23:31,715 INFO L272 TraceCheckUtils]: 0: Hoare triple {3722#true} call ULTIMATE.init(); {3722#true} is VALID [2022-04-08 04:23:31,716 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 8 proven. 11 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-08 04:23:31,716 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:23:31,716 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1834105264] [2022-04-08 04:23:31,716 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:23:31,716 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [454912486] [2022-04-08 04:23:31,716 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [454912486] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:23:31,716 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:23:31,716 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 04:23:31,716 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:23:31,716 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [916208039] [2022-04-08 04:23:31,716 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [916208039] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:23:31,717 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:23:31,717 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 04:23:31,717 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1895701512] [2022-04-08 04:23:31,717 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:23:31,717 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (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 58 [2022-04-08 04:23:31,717 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:23:31,717 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (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-08 04:23:31,748 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:31,749 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 04:23:31,749 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:31,749 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 04:23:31,749 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 04:23:31,750 INFO L87 Difference]: Start difference. First operand 76 states and 97 transitions. Second operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (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-08 04:23:32,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:32,453 INFO L93 Difference]: Finished difference Result 121 states and 167 transitions. [2022-04-08 04:23:32,453 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 04:23:32,453 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (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 58 [2022-04-08 04:23:32,453 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:23:32,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (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-08 04:23:32,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 105 transitions. [2022-04-08 04:23:32,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (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-08 04:23:32,457 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 105 transitions. [2022-04-08 04:23:32,457 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 105 transitions. [2022-04-08 04:23:32,564 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:32,567 INFO L225 Difference]: With dead ends: 121 [2022-04-08 04:23:32,567 INFO L226 Difference]: Without dead ends: 113 [2022-04-08 04:23:32,567 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 107 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-08 04:23:32,567 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 30 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 155 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 243 SdHoareTripleChecker+Invalid, 208 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 155 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:23:32,568 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 243 Invalid, 208 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 155 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:23:32,568 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-04-08 04:23:32,693 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 102. [2022-04-08 04:23:32,693 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:23:32,694 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand has 102 states, 54 states have (on average 1.1851851851851851) internal successors, (64), 58 states have internal predecessors, (64), 39 states have call successors, (39), 9 states have call predecessors, (39), 8 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 04:23:32,700 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand has 102 states, 54 states have (on average 1.1851851851851851) internal successors, (64), 58 states have internal predecessors, (64), 39 states have call successors, (39), 9 states have call predecessors, (39), 8 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 04:23:32,701 INFO L87 Difference]: Start difference. First operand 113 states. Second operand has 102 states, 54 states have (on average 1.1851851851851851) internal successors, (64), 58 states have internal predecessors, (64), 39 states have call successors, (39), 9 states have call predecessors, (39), 8 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 04:23:32,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:32,716 INFO L93 Difference]: Finished difference Result 113 states and 158 transitions. [2022-04-08 04:23:32,717 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 158 transitions. [2022-04-08 04:23:32,719 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:32,720 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:32,720 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 54 states have (on average 1.1851851851851851) internal successors, (64), 58 states have internal predecessors, (64), 39 states have call successors, (39), 9 states have call predecessors, (39), 8 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) Second operand 113 states. [2022-04-08 04:23:32,720 INFO L87 Difference]: Start difference. First operand has 102 states, 54 states have (on average 1.1851851851851851) internal successors, (64), 58 states have internal predecessors, (64), 39 states have call successors, (39), 9 states have call predecessors, (39), 8 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) Second operand 113 states. [2022-04-08 04:23:32,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:32,728 INFO L93 Difference]: Finished difference Result 113 states and 158 transitions. [2022-04-08 04:23:32,728 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 158 transitions. [2022-04-08 04:23:32,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:32,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:32,728 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:23:32,728 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:23:32,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 54 states have (on average 1.1851851851851851) internal successors, (64), 58 states have internal predecessors, (64), 39 states have call successors, (39), 9 states have call predecessors, (39), 8 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 04:23:32,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 140 transitions. [2022-04-08 04:23:32,732 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 140 transitions. Word has length 58 [2022-04-08 04:23:32,732 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:23:32,732 INFO L478 AbstractCegarLoop]: Abstraction has 102 states and 140 transitions. [2022-04-08 04:23:32,732 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 5 states have call successors, (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-08 04:23:32,732 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 102 states and 140 transitions. [2022-04-08 04:23:32,896 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:32,896 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 140 transitions. [2022-04-08 04:23:32,897 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-08 04:23:32,897 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:23:32,897 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:23:32,913 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-08 04:23:33,097 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:23:33,098 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:23:33,098 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:23:33,098 INFO L85 PathProgramCache]: Analyzing trace with hash 998199389, now seen corresponding path program 1 times [2022-04-08 04:23:33,098 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:33,098 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1380084026] [2022-04-08 04:23:33,098 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:23:33,099 INFO L85 PathProgramCache]: Analyzing trace with hash 998199389, now seen corresponding path program 2 times [2022-04-08 04:23:33,099 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:23:33,099 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1651942796] [2022-04-08 04:23:33,099 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:23:33,099 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:23:33,107 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:23:33,108 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1490321470] [2022-04-08 04:23:33,108 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:23:33,108 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:23:33,108 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:23:33,108 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-08 04:23:33,109 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-08 04:23:33,149 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:23:33,149 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:23:33,150 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-08 04:23:33,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:23:33,160 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:23:33,402 INFO L272 TraceCheckUtils]: 0: Hoare triple {4760#true} call ULTIMATE.init(); {4760#true} is VALID [2022-04-08 04:23:33,402 INFO L290 TraceCheckUtils]: 1: Hoare triple {4760#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); {4760#true} is VALID [2022-04-08 04:23:33,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:33,402 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4760#true} {4760#true} #96#return; {4760#true} is VALID [2022-04-08 04:23:33,402 INFO L272 TraceCheckUtils]: 4: Hoare triple {4760#true} call #t~ret6 := main(); {4760#true} is VALID [2022-04-08 04:23:33,402 INFO L290 TraceCheckUtils]: 5: Hoare triple {4760#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; {4760#true} is VALID [2022-04-08 04:23:33,402 INFO L272 TraceCheckUtils]: 6: Hoare triple {4760#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4760#true} is VALID [2022-04-08 04:23:33,402 INFO L290 TraceCheckUtils]: 7: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 04:23:33,402 INFO L290 TraceCheckUtils]: 8: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 04:23:33,403 INFO L290 TraceCheckUtils]: 9: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:33,403 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4760#true} {4760#true} #76#return; {4760#true} is VALID [2022-04-08 04:23:33,403 INFO L272 TraceCheckUtils]: 11: Hoare triple {4760#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4760#true} is VALID [2022-04-08 04:23:33,403 INFO L290 TraceCheckUtils]: 12: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 04:23:33,403 INFO L290 TraceCheckUtils]: 13: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 04:23:33,403 INFO L290 TraceCheckUtils]: 14: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:33,403 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4760#true} {4760#true} #78#return; {4760#true} is VALID [2022-04-08 04:23:33,403 INFO L290 TraceCheckUtils]: 16: Hoare triple {4760#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; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:23:33,403 INFO L272 TraceCheckUtils]: 17: Hoare triple {4813#(and (= 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)); {4760#true} is VALID [2022-04-08 04:23:33,403 INFO L290 TraceCheckUtils]: 18: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 04:23:33,403 INFO L290 TraceCheckUtils]: 19: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 04:23:33,404 INFO L290 TraceCheckUtils]: 20: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:33,404 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4760#true} {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #80#return; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:23:33,404 INFO L272 TraceCheckUtils]: 22: Hoare triple {4813#(and (= 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)); {4760#true} is VALID [2022-04-08 04:23:33,404 INFO L290 TraceCheckUtils]: 23: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 04:23:33,404 INFO L290 TraceCheckUtils]: 24: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 04:23:33,404 INFO L290 TraceCheckUtils]: 25: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:33,405 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4760#true} {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #82#return; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:23:33,405 INFO L290 TraceCheckUtils]: 27: Hoare triple {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:23:33,405 INFO L290 TraceCheckUtils]: 28: Hoare triple {4813#(and (= 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; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:23:33,405 INFO L290 TraceCheckUtils]: 29: Hoare triple {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:23:33,405 INFO L272 TraceCheckUtils]: 30: Hoare triple {4813#(and (= 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)); {4760#true} is VALID [2022-04-08 04:23:33,405 INFO L290 TraceCheckUtils]: 31: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 04:23:33,406 INFO L290 TraceCheckUtils]: 32: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 04:23:33,406 INFO L290 TraceCheckUtils]: 33: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:33,406 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4760#true} {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #84#return; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:23:33,406 INFO L272 TraceCheckUtils]: 35: Hoare triple {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4760#true} is VALID [2022-04-08 04:23:33,406 INFO L290 TraceCheckUtils]: 36: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 04:23:33,406 INFO L290 TraceCheckUtils]: 37: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 04:23:33,406 INFO L290 TraceCheckUtils]: 38: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:33,407 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4760#true} {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #86#return; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:23:33,407 INFO L272 TraceCheckUtils]: 40: Hoare triple {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4760#true} is VALID [2022-04-08 04:23:33,407 INFO L290 TraceCheckUtils]: 41: Hoare triple {4760#true} ~cond := #in~cond; {4889#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:33,407 INFO L290 TraceCheckUtils]: 42: Hoare triple {4889#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4893#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:33,408 INFO L290 TraceCheckUtils]: 43: Hoare triple {4893#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4893#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:33,408 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4893#(not (= |__VERIFIER_assert_#in~cond| 0))} {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #88#return; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:23:33,410 INFO L272 TraceCheckUtils]: 45: Hoare triple {4813#(and (= main_~s~0 1) (= main_~b~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)); {4760#true} is VALID [2022-04-08 04:23:33,410 INFO L290 TraceCheckUtils]: 46: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 04:23:33,410 INFO L290 TraceCheckUtils]: 47: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 04:23:33,410 INFO L290 TraceCheckUtils]: 48: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:33,411 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {4760#true} {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #90#return; {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:23:33,412 INFO L290 TraceCheckUtils]: 50: Hoare triple {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:23:33,412 INFO L290 TraceCheckUtils]: 51: Hoare triple {4813#(and (= main_~s~0 1) (= main_~b~0 main_~y~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; {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-08 04:23:33,412 INFO L290 TraceCheckUtils]: 52: Hoare triple {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !false; {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-08 04:23:33,413 INFO L290 TraceCheckUtils]: 53: Hoare triple {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-08 04:23:33,413 INFO L290 TraceCheckUtils]: 54: Hoare triple {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !false; {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-08 04:23:33,414 INFO L272 TraceCheckUtils]: 55: Hoare triple {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4760#true} is VALID [2022-04-08 04:23:33,414 INFO L290 TraceCheckUtils]: 56: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 04:23:33,414 INFO L290 TraceCheckUtils]: 57: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 04:23:33,414 INFO L290 TraceCheckUtils]: 58: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:33,414 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4760#true} {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} #84#return; {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-08 04:23:33,415 INFO L272 TraceCheckUtils]: 60: Hoare triple {4921#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4949#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:33,415 INFO L290 TraceCheckUtils]: 61: Hoare triple {4949#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4953#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:33,415 INFO L290 TraceCheckUtils]: 62: Hoare triple {4953#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4761#false} is VALID [2022-04-08 04:23:33,415 INFO L290 TraceCheckUtils]: 63: Hoare triple {4761#false} assume !false; {4761#false} is VALID [2022-04-08 04:23:33,415 INFO L134 CoverageAnalysis]: Checked inductivity of 79 backedges. 15 proven. 12 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-08 04:23:33,416 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:23:49,872 INFO L290 TraceCheckUtils]: 63: Hoare triple {4761#false} assume !false; {4761#false} is VALID [2022-04-08 04:23:49,873 INFO L290 TraceCheckUtils]: 62: Hoare triple {4953#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4761#false} is VALID [2022-04-08 04:23:49,873 INFO L290 TraceCheckUtils]: 61: Hoare triple {4949#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4953#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:49,875 INFO L272 TraceCheckUtils]: 60: Hoare triple {4969#(= 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)); {4949#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:49,876 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4760#true} {4969#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #84#return; {4969#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:23:49,876 INFO L290 TraceCheckUtils]: 58: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:49,876 INFO L290 TraceCheckUtils]: 57: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 04:23:49,876 INFO L290 TraceCheckUtils]: 56: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 04:23:49,876 INFO L272 TraceCheckUtils]: 55: Hoare triple {4969#(= 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)); {4760#true} is VALID [2022-04-08 04:23:49,877 INFO L290 TraceCheckUtils]: 54: Hoare triple {4969#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {4969#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:23:49,877 INFO L290 TraceCheckUtils]: 53: Hoare triple {4969#(= 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; {4969#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:23:49,877 INFO L290 TraceCheckUtils]: 52: Hoare triple {4969#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {4969#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:23:49,878 INFO L290 TraceCheckUtils]: 51: Hoare triple {4997#(= 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; {4969#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:23:49,878 INFO L290 TraceCheckUtils]: 50: Hoare triple {4997#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {4997#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:49,879 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {4760#true} {4997#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #90#return; {4997#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:49,879 INFO L290 TraceCheckUtils]: 48: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:49,879 INFO L290 TraceCheckUtils]: 47: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 04:23:49,879 INFO L290 TraceCheckUtils]: 46: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 04:23:49,879 INFO L272 TraceCheckUtils]: 45: Hoare triple {4997#(= 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)); {4760#true} is VALID [2022-04-08 04:23:49,879 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4893#(not (= |__VERIFIER_assert_#in~cond| 0))} {4760#true} #88#return; {4997#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:49,880 INFO L290 TraceCheckUtils]: 43: Hoare triple {4893#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4893#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:49,880 INFO L290 TraceCheckUtils]: 42: Hoare triple {5028#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4893#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:49,880 INFO L290 TraceCheckUtils]: 41: Hoare triple {4760#true} ~cond := #in~cond; {5028#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:23:49,880 INFO L272 TraceCheckUtils]: 40: Hoare triple {4760#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4760#true} is VALID [2022-04-08 04:23:49,880 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4760#true} {4760#true} #86#return; {4760#true} is VALID [2022-04-08 04:23:49,880 INFO L290 TraceCheckUtils]: 38: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L290 TraceCheckUtils]: 37: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L290 TraceCheckUtils]: 36: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L272 TraceCheckUtils]: 35: Hoare triple {4760#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4760#true} {4760#true} #84#return; {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L290 TraceCheckUtils]: 33: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L290 TraceCheckUtils]: 32: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L290 TraceCheckUtils]: 31: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L272 TraceCheckUtils]: 30: Hoare triple {4760#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L290 TraceCheckUtils]: 29: Hoare triple {4760#true} assume !false; {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L290 TraceCheckUtils]: 28: Hoare triple {4760#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L290 TraceCheckUtils]: 27: Hoare triple {4760#true} assume !false; {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4760#true} {4760#true} #82#return; {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L290 TraceCheckUtils]: 25: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L290 TraceCheckUtils]: 24: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L290 TraceCheckUtils]: 23: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L272 TraceCheckUtils]: 22: Hoare triple {4760#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4760#true} is VALID [2022-04-08 04:23:49,881 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4760#true} {4760#true} #80#return; {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L290 TraceCheckUtils]: 20: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L290 TraceCheckUtils]: 19: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L290 TraceCheckUtils]: 18: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L272 TraceCheckUtils]: 17: Hoare triple {4760#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L290 TraceCheckUtils]: 16: Hoare triple {4760#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; {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4760#true} {4760#true} #78#return; {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L290 TraceCheckUtils]: 14: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L290 TraceCheckUtils]: 13: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L290 TraceCheckUtils]: 12: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L272 TraceCheckUtils]: 11: Hoare triple {4760#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4760#true} {4760#true} #76#return; {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L290 TraceCheckUtils]: 9: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L290 TraceCheckUtils]: 8: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L290 TraceCheckUtils]: 7: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L272 TraceCheckUtils]: 6: Hoare triple {4760#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L290 TraceCheckUtils]: 5: Hoare triple {4760#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; {4760#true} is VALID [2022-04-08 04:23:49,882 INFO L272 TraceCheckUtils]: 4: Hoare triple {4760#true} call #t~ret6 := main(); {4760#true} is VALID [2022-04-08 04:23:49,883 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4760#true} {4760#true} #96#return; {4760#true} is VALID [2022-04-08 04:23:49,883 INFO L290 TraceCheckUtils]: 2: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 04:23:49,883 INFO L290 TraceCheckUtils]: 1: Hoare triple {4760#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); {4760#true} is VALID [2022-04-08 04:23:49,883 INFO L272 TraceCheckUtils]: 0: Hoare triple {4760#true} call ULTIMATE.init(); {4760#true} is VALID [2022-04-08 04:23:49,883 INFO L134 CoverageAnalysis]: Checked inductivity of 79 backedges. 20 proven. 7 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-08 04:23:49,883 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:23:49,883 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1651942796] [2022-04-08 04:23:49,883 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:23:49,883 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1490321470] [2022-04-08 04:23:49,883 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1490321470] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:23:49,883 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:23:49,883 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-08 04:23:49,884 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:23:49,884 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1380084026] [2022-04-08 04:23:49,884 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1380084026] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:23:49,884 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:23:49,884 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 04:23:49,884 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1901478959] [2022-04-08 04:23:49,884 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:23:49,884 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 3 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 64 [2022-04-08 04:23:49,884 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:23:49,884 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 3 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 04:23:49,917 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-08 04:23:49,917 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 04:23:49,917 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:49,918 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 04:23:49,918 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-08 04:23:49,918 INFO L87 Difference]: Start difference. First operand 102 states and 140 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 3 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 04:23:50,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:50,550 INFO L93 Difference]: Finished difference Result 147 states and 208 transitions. [2022-04-08 04:23:50,550 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 04:23:50,551 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 3 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 64 [2022-04-08 04:23:50,551 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:23:50,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 3 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 04:23:50,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2022-04-08 04:23:50,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 3 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 04:23:50,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2022-04-08 04:23:50,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 78 transitions. [2022-04-08 04:23:50,617 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-08 04:23:50,619 INFO L225 Difference]: With dead ends: 147 [2022-04-08 04:23:50,619 INFO L226 Difference]: Without dead ends: 144 [2022-04-08 04:23:50,620 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 117 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-04-08 04:23:50,620 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 14 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 182 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 157 SdHoareTripleChecker+Invalid, 187 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 182 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:23:50,620 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 157 Invalid, 187 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 182 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:23:50,621 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-04-08 04:23:50,804 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 141. [2022-04-08 04:23:50,804 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:23:50,804 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 141 states, 73 states have (on average 1.2054794520547945) internal successors, (88), 80 states have internal predecessors, (88), 58 states have call successors, (58), 10 states have call predecessors, (58), 9 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:23:50,805 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 141 states, 73 states have (on average 1.2054794520547945) internal successors, (88), 80 states have internal predecessors, (88), 58 states have call successors, (58), 10 states have call predecessors, (58), 9 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:23:50,805 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 141 states, 73 states have (on average 1.2054794520547945) internal successors, (88), 80 states have internal predecessors, (88), 58 states have call successors, (58), 10 states have call predecessors, (58), 9 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:23:50,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:50,810 INFO L93 Difference]: Finished difference Result 144 states and 204 transitions. [2022-04-08 04:23:50,810 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 204 transitions. [2022-04-08 04:23:50,811 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:50,811 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:50,811 INFO L74 IsIncluded]: Start isIncluded. First operand has 141 states, 73 states have (on average 1.2054794520547945) internal successors, (88), 80 states have internal predecessors, (88), 58 states have call successors, (58), 10 states have call predecessors, (58), 9 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 144 states. [2022-04-08 04:23:50,812 INFO L87 Difference]: Start difference. First operand has 141 states, 73 states have (on average 1.2054794520547945) internal successors, (88), 80 states have internal predecessors, (88), 58 states have call successors, (58), 10 states have call predecessors, (58), 9 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 144 states. [2022-04-08 04:23:50,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:50,816 INFO L93 Difference]: Finished difference Result 144 states and 204 transitions. [2022-04-08 04:23:50,816 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 204 transitions. [2022-04-08 04:23:50,817 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:50,817 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:50,817 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:23:50,817 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:23:50,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 141 states, 73 states have (on average 1.2054794520547945) internal successors, (88), 80 states have internal predecessors, (88), 58 states have call successors, (58), 10 states have call predecessors, (58), 9 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:23:50,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 201 transitions. [2022-04-08 04:23:50,821 INFO L78 Accepts]: Start accepts. Automaton has 141 states and 201 transitions. Word has length 64 [2022-04-08 04:23:50,821 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:23:50,821 INFO L478 AbstractCegarLoop]: Abstraction has 141 states and 201 transitions. [2022-04-08 04:23:50,821 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 3 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 04:23:50,822 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 141 states and 201 transitions. [2022-04-08 04:23:51,064 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 201 edges. 201 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:51,064 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 201 transitions. [2022-04-08 04:23:51,065 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 04:23:51,065 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:23:51,065 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 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] [2022-04-08 04:23:51,083 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-08 04:23:51,265 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-08 04:23:51,266 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:23:51,266 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:23:51,266 INFO L85 PathProgramCache]: Analyzing trace with hash 1412509540, now seen corresponding path program 3 times [2022-04-08 04:23:51,266 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:51,266 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [607379890] [2022-04-08 04:23:51,266 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:23:51,266 INFO L85 PathProgramCache]: Analyzing trace with hash 1412509540, now seen corresponding path program 4 times [2022-04-08 04:23:51,267 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:23:51,267 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1008898793] [2022-04-08 04:23:51,267 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:23:51,267 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:23:51,278 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:23:51,279 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1097310226] [2022-04-08 04:23:51,279 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:23:51,279 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:23:51,279 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:23:51,291 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-08 04:23:51,292 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-08 04:23:51,335 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:23:51,335 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:23:51,336 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-08 04:23:51,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:23:51,349 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:23:52,072 INFO L272 TraceCheckUtils]: 0: Hoare triple {6022#true} call ULTIMATE.init(); {6022#true} is VALID [2022-04-08 04:23:52,072 INFO L290 TraceCheckUtils]: 1: Hoare triple {6022#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); {6022#true} is VALID [2022-04-08 04:23:52,072 INFO L290 TraceCheckUtils]: 2: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:52,072 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6022#true} {6022#true} #96#return; {6022#true} is VALID [2022-04-08 04:23:52,072 INFO L272 TraceCheckUtils]: 4: Hoare triple {6022#true} call #t~ret6 := main(); {6022#true} is VALID [2022-04-08 04:23:52,073 INFO L290 TraceCheckUtils]: 5: Hoare triple {6022#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; {6022#true} is VALID [2022-04-08 04:23:52,073 INFO L272 TraceCheckUtils]: 6: Hoare triple {6022#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6022#true} is VALID [2022-04-08 04:23:52,073 INFO L290 TraceCheckUtils]: 7: Hoare triple {6022#true} ~cond := #in~cond; {6048#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:23:52,073 INFO L290 TraceCheckUtils]: 8: Hoare triple {6048#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6052#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:23:52,073 INFO L290 TraceCheckUtils]: 9: Hoare triple {6052#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6052#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:23:52,074 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6052#(not (= |assume_abort_if_not_#in~cond| 0))} {6022#true} #76#return; {6059#(<= 1 main_~x~0)} is VALID [2022-04-08 04:23:52,074 INFO L272 TraceCheckUtils]: 11: Hoare triple {6059#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6022#true} is VALID [2022-04-08 04:23:52,074 INFO L290 TraceCheckUtils]: 12: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:52,074 INFO L290 TraceCheckUtils]: 13: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:52,074 INFO L290 TraceCheckUtils]: 14: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:52,075 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6022#true} {6059#(<= 1 main_~x~0)} #78#return; {6059#(<= 1 main_~x~0)} is VALID [2022-04-08 04:23:52,075 INFO L290 TraceCheckUtils]: 16: Hoare triple {6059#(<= 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; {6078#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:52,075 INFO L272 TraceCheckUtils]: 17: Hoare triple {6078#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {6022#true} is VALID [2022-04-08 04:23:52,075 INFO L290 TraceCheckUtils]: 18: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:52,075 INFO L290 TraceCheckUtils]: 19: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:52,075 INFO L290 TraceCheckUtils]: 20: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:52,076 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6022#true} {6078#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #80#return; {6078#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:52,076 INFO L272 TraceCheckUtils]: 22: Hoare triple {6078#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {6022#true} is VALID [2022-04-08 04:23:52,076 INFO L290 TraceCheckUtils]: 23: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:52,076 INFO L290 TraceCheckUtils]: 24: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:52,076 INFO L290 TraceCheckUtils]: 25: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:52,077 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6022#true} {6078#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #82#return; {6078#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:52,077 INFO L290 TraceCheckUtils]: 27: Hoare triple {6078#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {6078#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:52,077 INFO L290 TraceCheckUtils]: 28: Hoare triple {6078#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6115#(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_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:52,078 INFO L290 TraceCheckUtils]: 29: Hoare triple {6115#(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_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {6115#(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_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:52,078 INFO L272 TraceCheckUtils]: 30: Hoare triple {6115#(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_~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)); {6022#true} is VALID [2022-04-08 04:23:52,078 INFO L290 TraceCheckUtils]: 31: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:52,078 INFO L290 TraceCheckUtils]: 32: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:52,078 INFO L290 TraceCheckUtils]: 33: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:52,079 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6022#true} {6115#(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_~c~0 main_~x~0) (= main_~p~0 1))} #84#return; {6115#(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_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:52,079 INFO L272 TraceCheckUtils]: 35: Hoare triple {6115#(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_~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)); {6022#true} is VALID [2022-04-08 04:23:52,079 INFO L290 TraceCheckUtils]: 36: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:52,079 INFO L290 TraceCheckUtils]: 37: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:52,079 INFO L290 TraceCheckUtils]: 38: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:52,080 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6022#true} {6115#(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_~c~0 main_~x~0) (= main_~p~0 1))} #86#return; {6115#(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_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:52,080 INFO L272 TraceCheckUtils]: 40: Hoare triple {6115#(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_~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)); {6022#true} is VALID [2022-04-08 04:23:52,080 INFO L290 TraceCheckUtils]: 41: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:52,080 INFO L290 TraceCheckUtils]: 42: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:52,080 INFO L290 TraceCheckUtils]: 43: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:52,081 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6022#true} {6115#(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_~c~0 main_~x~0) (= main_~p~0 1))} #88#return; {6115#(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_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:52,081 INFO L272 TraceCheckUtils]: 45: Hoare triple {6115#(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_~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)); {6022#true} is VALID [2022-04-08 04:23:52,081 INFO L290 TraceCheckUtils]: 46: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:52,081 INFO L290 TraceCheckUtils]: 47: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:52,081 INFO L290 TraceCheckUtils]: 48: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:52,082 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {6022#true} {6115#(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_~c~0 main_~x~0) (= main_~p~0 1))} #90#return; {6115#(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_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:52,082 INFO L290 TraceCheckUtils]: 50: Hoare triple {6115#(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_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {6182#(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_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:52,083 INFO L290 TraceCheckUtils]: 51: Hoare triple {6182#(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_~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; {6186#(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-08 04:23:52,083 INFO L290 TraceCheckUtils]: 52: Hoare triple {6186#(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 !false; {6186#(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-08 04:23:52,083 INFO L290 TraceCheckUtils]: 53: Hoare triple {6186#(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; {6186#(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-08 04:23:52,084 INFO L290 TraceCheckUtils]: 54: Hoare triple {6186#(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 !false; {6186#(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-08 04:23:52,084 INFO L272 TraceCheckUtils]: 55: Hoare triple {6186#(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)); {6022#true} is VALID [2022-04-08 04:23:52,084 INFO L290 TraceCheckUtils]: 56: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:52,084 INFO L290 TraceCheckUtils]: 57: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:52,084 INFO L290 TraceCheckUtils]: 58: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:52,085 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6022#true} {6186#(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))} #84#return; {6186#(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-08 04:23:52,085 INFO L272 TraceCheckUtils]: 60: Hoare triple {6186#(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)); {6022#true} is VALID [2022-04-08 04:23:52,085 INFO L290 TraceCheckUtils]: 61: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:52,085 INFO L290 TraceCheckUtils]: 62: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:52,085 INFO L290 TraceCheckUtils]: 63: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:52,085 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {6022#true} {6186#(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; {6186#(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-08 04:23:52,086 INFO L272 TraceCheckUtils]: 65: Hoare triple {6186#(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)); {6229#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:52,086 INFO L290 TraceCheckUtils]: 66: Hoare triple {6229#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6233#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:52,087 INFO L290 TraceCheckUtils]: 67: Hoare triple {6233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6023#false} is VALID [2022-04-08 04:23:52,087 INFO L290 TraceCheckUtils]: 68: Hoare triple {6023#false} assume !false; {6023#false} is VALID [2022-04-08 04:23:52,087 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 12 proven. 15 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-08 04:23:52,087 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:23:52,556 INFO L290 TraceCheckUtils]: 68: Hoare triple {6023#false} assume !false; {6023#false} is VALID [2022-04-08 04:23:52,557 INFO L290 TraceCheckUtils]: 67: Hoare triple {6233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6023#false} is VALID [2022-04-08 04:23:52,557 INFO L290 TraceCheckUtils]: 66: Hoare triple {6229#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6233#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:52,558 INFO L272 TraceCheckUtils]: 65: Hoare triple {6249#(= 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)); {6229#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:52,558 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {6022#true} {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #86#return; {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:52,558 INFO L290 TraceCheckUtils]: 63: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:52,559 INFO L290 TraceCheckUtils]: 62: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:52,559 INFO L290 TraceCheckUtils]: 61: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:52,559 INFO L272 TraceCheckUtils]: 60: Hoare triple {6249#(= 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)); {6022#true} is VALID [2022-04-08 04:23:52,562 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6022#true} {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #84#return; {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:52,562 INFO L290 TraceCheckUtils]: 58: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:52,562 INFO L290 TraceCheckUtils]: 57: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:52,562 INFO L290 TraceCheckUtils]: 56: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:52,562 INFO L272 TraceCheckUtils]: 55: Hoare triple {6249#(= 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)); {6022#true} is VALID [2022-04-08 04:23:52,562 INFO L290 TraceCheckUtils]: 54: Hoare triple {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:52,563 INFO L290 TraceCheckUtils]: 53: Hoare triple {6249#(= 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; {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:52,563 INFO L290 TraceCheckUtils]: 52: Hoare triple {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:53,666 INFO L290 TraceCheckUtils]: 51: Hoare triple {6292#(= (+ (* (+ (* (* 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; {6249#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:53,667 INFO L290 TraceCheckUtils]: 50: Hoare triple {6296#(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) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {6292#(= (+ (* (+ (* (* 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-08 04:23:53,668 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {6022#true} {6296#(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) (<= main_~b~0 main_~c~0))} #90#return; {6296#(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) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 04:23:53,668 INFO L290 TraceCheckUtils]: 48: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:53,668 INFO L290 TraceCheckUtils]: 47: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:53,668 INFO L290 TraceCheckUtils]: 46: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:53,668 INFO L272 TraceCheckUtils]: 45: Hoare triple {6296#(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) (<= 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)); {6022#true} is VALID [2022-04-08 04:23:53,669 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6022#true} {6296#(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) (<= main_~b~0 main_~c~0))} #88#return; {6296#(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) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 04:23:53,669 INFO L290 TraceCheckUtils]: 43: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:53,669 INFO L290 TraceCheckUtils]: 42: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:53,669 INFO L290 TraceCheckUtils]: 41: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:53,669 INFO L272 TraceCheckUtils]: 40: Hoare triple {6296#(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) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6022#true} is VALID [2022-04-08 04:23:53,670 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6022#true} {6296#(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) (<= main_~b~0 main_~c~0))} #86#return; {6296#(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) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 04:23:53,670 INFO L290 TraceCheckUtils]: 38: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:53,670 INFO L290 TraceCheckUtils]: 37: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:53,670 INFO L290 TraceCheckUtils]: 36: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:53,670 INFO L272 TraceCheckUtils]: 35: Hoare triple {6296#(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) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6022#true} is VALID [2022-04-08 04:23:53,671 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6022#true} {6296#(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) (<= main_~b~0 main_~c~0))} #84#return; {6296#(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) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 04:23:53,671 INFO L290 TraceCheckUtils]: 33: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:53,671 INFO L290 TraceCheckUtils]: 32: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:53,671 INFO L290 TraceCheckUtils]: 31: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:53,671 INFO L272 TraceCheckUtils]: 30: Hoare triple {6296#(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) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6022#true} is VALID [2022-04-08 04:23:53,672 INFO L290 TraceCheckUtils]: 29: Hoare triple {6296#(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) (<= main_~b~0 main_~c~0))} assume !false; {6296#(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) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 04:23:53,672 INFO L290 TraceCheckUtils]: 28: Hoare triple {6363#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6296#(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) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 04:23:53,672 INFO L290 TraceCheckUtils]: 27: Hoare triple {6363#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} assume !false; {6363#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-08 04:23:53,673 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6022#true} {6363#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} #82#return; {6363#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-08 04:23:53,673 INFO L290 TraceCheckUtils]: 25: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:53,673 INFO L290 TraceCheckUtils]: 24: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:53,673 INFO L290 TraceCheckUtils]: 23: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:53,673 INFO L272 TraceCheckUtils]: 22: Hoare triple {6363#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {6022#true} is VALID [2022-04-08 04:23:53,674 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6022#true} {6363#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} #80#return; {6363#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-08 04:23:53,674 INFO L290 TraceCheckUtils]: 20: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:53,674 INFO L290 TraceCheckUtils]: 19: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:53,674 INFO L290 TraceCheckUtils]: 18: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:53,674 INFO L272 TraceCheckUtils]: 17: Hoare triple {6363#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {6022#true} is VALID [2022-04-08 04:23:53,674 INFO L290 TraceCheckUtils]: 16: Hoare triple {6022#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; {6363#(or (= main_~b~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-08 04:23:53,675 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6022#true} {6022#true} #78#return; {6022#true} is VALID [2022-04-08 04:23:53,675 INFO L290 TraceCheckUtils]: 14: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:53,675 INFO L290 TraceCheckUtils]: 13: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:53,675 INFO L290 TraceCheckUtils]: 12: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:53,675 INFO L272 TraceCheckUtils]: 11: Hoare triple {6022#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6022#true} is VALID [2022-04-08 04:23:53,675 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6022#true} {6022#true} #76#return; {6022#true} is VALID [2022-04-08 04:23:53,675 INFO L290 TraceCheckUtils]: 9: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:53,675 INFO L290 TraceCheckUtils]: 8: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 04:23:53,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 04:23:53,675 INFO L272 TraceCheckUtils]: 6: Hoare triple {6022#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6022#true} is VALID [2022-04-08 04:23:53,675 INFO L290 TraceCheckUtils]: 5: Hoare triple {6022#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; {6022#true} is VALID [2022-04-08 04:23:53,675 INFO L272 TraceCheckUtils]: 4: Hoare triple {6022#true} call #t~ret6 := main(); {6022#true} is VALID [2022-04-08 04:23:53,675 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6022#true} {6022#true} #96#return; {6022#true} is VALID [2022-04-08 04:23:53,675 INFO L290 TraceCheckUtils]: 2: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 04:23:53,675 INFO L290 TraceCheckUtils]: 1: Hoare triple {6022#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); {6022#true} is VALID [2022-04-08 04:23:53,675 INFO L272 TraceCheckUtils]: 0: Hoare triple {6022#true} call ULTIMATE.init(); {6022#true} is VALID [2022-04-08 04:23:53,676 INFO L134 CoverageAnalysis]: Checked inductivity of 102 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-08 04:23:53,676 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:23:53,676 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1008898793] [2022-04-08 04:23:53,676 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:23:53,676 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1097310226] [2022-04-08 04:23:53,676 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1097310226] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:23:53,676 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:23:53,676 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-08 04:23:53,676 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:23:53,676 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [607379890] [2022-04-08 04:23:53,677 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [607379890] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:23:53,677 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:23:53,677 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 04:23:53,677 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1699892937] [2022-04-08 04:23:53,677 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:23:53,677 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 69 [2022-04-08 04:23:53,677 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:23:53,677 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 9 states have internal predecessors, (24), 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-08 04:23:53,718 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-08 04:23:53,718 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 04:23:53,718 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:53,719 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 04:23:53,719 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-08 04:23:53,719 INFO L87 Difference]: Start difference. First operand 141 states and 201 transitions. Second operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 04:23:54,925 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:54,925 INFO L93 Difference]: Finished difference Result 153 states and 211 transitions. [2022-04-08 04:23:54,925 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 04:23:54,925 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 69 [2022-04-08 04:23:54,925 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:23:54,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 04:23:54,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 86 transitions. [2022-04-08 04:23:54,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 04:23:54,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 86 transitions. [2022-04-08 04:23:54,928 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 86 transitions. [2022-04-08 04:23:55,002 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:55,009 INFO L225 Difference]: With dead ends: 153 [2022-04-08 04:23:55,009 INFO L226 Difference]: Without dead ends: 151 [2022-04-08 04:23:55,010 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 141 GetRequests, 123 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 46 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=68, Invalid=274, Unknown=0, NotChecked=0, Total=342 [2022-04-08 04:23:55,010 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 33 mSDsluCounter, 174 mSDsCounter, 0 mSdLazyCounter, 315 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 215 SdHoareTripleChecker+Invalid, 341 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 315 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:23:55,010 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 215 Invalid, 341 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 315 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 04:23:55,011 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2022-04-08 04:23:55,191 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 149. [2022-04-08 04:23:55,191 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:23:55,198 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand has 149 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 86 states have internal predecessors, (94), 58 states have call successors, (58), 12 states have call predecessors, (58), 11 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:23:55,199 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand has 149 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 86 states have internal predecessors, (94), 58 states have call successors, (58), 12 states have call predecessors, (58), 11 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:23:55,199 INFO L87 Difference]: Start difference. First operand 151 states. Second operand has 149 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 86 states have internal predecessors, (94), 58 states have call successors, (58), 12 states have call predecessors, (58), 11 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:23:55,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:55,203 INFO L93 Difference]: Finished difference Result 151 states and 209 transitions. [2022-04-08 04:23:55,203 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 209 transitions. [2022-04-08 04:23:55,203 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:55,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:55,204 INFO L74 IsIncluded]: Start isIncluded. First operand has 149 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 86 states have internal predecessors, (94), 58 states have call successors, (58), 12 states have call predecessors, (58), 11 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 151 states. [2022-04-08 04:23:55,204 INFO L87 Difference]: Start difference. First operand has 149 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 86 states have internal predecessors, (94), 58 states have call successors, (58), 12 states have call predecessors, (58), 11 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 151 states. [2022-04-08 04:23:55,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:55,207 INFO L93 Difference]: Finished difference Result 151 states and 209 transitions. [2022-04-08 04:23:55,207 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 209 transitions. [2022-04-08 04:23:55,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:55,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:55,208 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:23:55,208 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:23:55,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 149 states, 79 states have (on average 1.1898734177215189) internal successors, (94), 86 states have internal predecessors, (94), 58 states have call successors, (58), 12 states have call predecessors, (58), 11 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:23:55,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 207 transitions. [2022-04-08 04:23:55,212 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 207 transitions. Word has length 69 [2022-04-08 04:23:55,212 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:23:55,212 INFO L478 AbstractCegarLoop]: Abstraction has 149 states and 207 transitions. [2022-04-08 04:23:55,212 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 9 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 04:23:55,212 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 149 states and 207 transitions. [2022-04-08 04:23:55,480 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 207 edges. 207 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:55,480 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 207 transitions. [2022-04-08 04:23:55,480 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-08 04:23:55,480 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:23:55,480 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 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] [2022-04-08 04:23:55,497 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-08 04:23:55,697 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 04:23:55,697 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:23:55,697 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:23:55,697 INFO L85 PathProgramCache]: Analyzing trace with hash -1763593091, now seen corresponding path program 5 times [2022-04-08 04:23:55,697 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:55,697 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [552826607] [2022-04-08 04:23:55,698 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:23:55,698 INFO L85 PathProgramCache]: Analyzing trace with hash -1763593091, now seen corresponding path program 6 times [2022-04-08 04:23:55,698 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:23:55,698 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [427177901] [2022-04-08 04:23:55,698 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:23:55,698 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:23:55,729 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:23:55,730 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [14638757] [2022-04-08 04:23:55,730 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:23:55,730 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:23:55,730 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:23:55,735 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-08 04:23:55,764 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-08 04:23:55,809 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 04:23:55,809 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:23:55,811 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-08 04:23:55,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:23:55,827 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:23:56,456 INFO L272 TraceCheckUtils]: 0: Hoare triple {7364#true} call ULTIMATE.init(); {7364#true} is VALID [2022-04-08 04:23:56,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {7364#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); {7364#true} is VALID [2022-04-08 04:23:56,457 INFO L290 TraceCheckUtils]: 2: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 04:23:56,457 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7364#true} {7364#true} #96#return; {7364#true} is VALID [2022-04-08 04:23:56,457 INFO L272 TraceCheckUtils]: 4: Hoare triple {7364#true} call #t~ret6 := main(); {7364#true} is VALID [2022-04-08 04:23:56,457 INFO L290 TraceCheckUtils]: 5: Hoare triple {7364#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; {7364#true} is VALID [2022-04-08 04:23:56,457 INFO L272 TraceCheckUtils]: 6: Hoare triple {7364#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7364#true} is VALID [2022-04-08 04:23:56,457 INFO L290 TraceCheckUtils]: 7: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-08 04:23:56,457 INFO L290 TraceCheckUtils]: 8: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-08 04:23:56,457 INFO L290 TraceCheckUtils]: 9: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 04:23:56,457 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7364#true} {7364#true} #76#return; {7364#true} is VALID [2022-04-08 04:23:56,457 INFO L272 TraceCheckUtils]: 11: Hoare triple {7364#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7364#true} is VALID [2022-04-08 04:23:56,457 INFO L290 TraceCheckUtils]: 12: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-08 04:23:56,457 INFO L290 TraceCheckUtils]: 13: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-08 04:23:56,457 INFO L290 TraceCheckUtils]: 14: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 04:23:56,457 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7364#true} {7364#true} #78#return; {7364#true} is VALID [2022-04-08 04:23:56,458 INFO L290 TraceCheckUtils]: 16: Hoare triple {7364#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; {7417#(and (= main_~r~0 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))} is VALID [2022-04-08 04:23:56,458 INFO L272 TraceCheckUtils]: 17: Hoare triple {7417#(and (= main_~r~0 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))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {7364#true} is VALID [2022-04-08 04:23:56,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-08 04:23:56,458 INFO L290 TraceCheckUtils]: 19: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-08 04:23:56,458 INFO L290 TraceCheckUtils]: 20: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 04:23:56,459 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7364#true} {7417#(and (= main_~r~0 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))} #80#return; {7417#(and (= main_~r~0 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))} is VALID [2022-04-08 04:23:56,464 INFO L272 TraceCheckUtils]: 22: Hoare triple {7417#(and (= main_~r~0 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))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {7364#true} is VALID [2022-04-08 04:23:56,464 INFO L290 TraceCheckUtils]: 23: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-08 04:23:56,464 INFO L290 TraceCheckUtils]: 24: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-08 04:23:56,464 INFO L290 TraceCheckUtils]: 25: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 04:23:56,465 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7364#true} {7417#(and (= main_~r~0 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))} #82#return; {7417#(and (= main_~r~0 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))} is VALID [2022-04-08 04:23:56,465 INFO L290 TraceCheckUtils]: 27: Hoare triple {7417#(and (= main_~r~0 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))} assume !false; {7417#(and (= main_~r~0 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))} is VALID [2022-04-08 04:23:56,465 INFO L290 TraceCheckUtils]: 28: Hoare triple {7417#(and (= main_~r~0 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))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7454#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:23:56,466 INFO L290 TraceCheckUtils]: 29: Hoare triple {7454#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !false; {7454#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:23:56,466 INFO L272 TraceCheckUtils]: 30: Hoare triple {7454#(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_~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)); {7364#true} is VALID [2022-04-08 04:23:56,466 INFO L290 TraceCheckUtils]: 31: Hoare triple {7364#true} ~cond := #in~cond; {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:56,466 INFO L290 TraceCheckUtils]: 32: Hoare triple {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:56,467 INFO L290 TraceCheckUtils]: 33: Hoare triple {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:56,467 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} {7454#(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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #84#return; {7475#(and (= main_~r~0 0) (= main_~k~0 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_~c~0 main_~x~0))} is VALID [2022-04-08 04:23:56,467 INFO L272 TraceCheckUtils]: 35: Hoare triple {7475#(and (= main_~r~0 0) (= main_~k~0 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_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7364#true} is VALID [2022-04-08 04:23:56,467 INFO L290 TraceCheckUtils]: 36: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-08 04:23:56,468 INFO L290 TraceCheckUtils]: 37: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-08 04:23:56,468 INFO L290 TraceCheckUtils]: 38: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 04:23:56,468 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {7364#true} {7475#(and (= main_~r~0 0) (= main_~k~0 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_~c~0 main_~x~0))} #86#return; {7475#(and (= main_~r~0 0) (= main_~k~0 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_~c~0 main_~x~0))} is VALID [2022-04-08 04:23:56,468 INFO L272 TraceCheckUtils]: 40: Hoare triple {7475#(and (= main_~r~0 0) (= main_~k~0 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_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7364#true} is VALID [2022-04-08 04:23:56,468 INFO L290 TraceCheckUtils]: 41: Hoare triple {7364#true} ~cond := #in~cond; {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:56,469 INFO L290 TraceCheckUtils]: 42: Hoare triple {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:56,469 INFO L290 TraceCheckUtils]: 43: Hoare triple {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:56,469 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} {7475#(and (= main_~r~0 0) (= main_~k~0 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_~c~0 main_~x~0))} #88#return; {7475#(and (= main_~r~0 0) (= main_~k~0 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_~c~0 main_~x~0))} is VALID [2022-04-08 04:23:56,470 INFO L272 TraceCheckUtils]: 45: Hoare triple {7475#(and (= main_~r~0 0) (= main_~k~0 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_~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)); {7364#true} is VALID [2022-04-08 04:23:56,470 INFO L290 TraceCheckUtils]: 46: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-08 04:23:56,470 INFO L290 TraceCheckUtils]: 47: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-08 04:23:56,470 INFO L290 TraceCheckUtils]: 48: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 04:23:56,470 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {7364#true} {7475#(and (= main_~r~0 0) (= main_~k~0 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_~c~0 main_~x~0))} #90#return; {7475#(and (= main_~r~0 0) (= main_~k~0 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_~c~0 main_~x~0))} is VALID [2022-04-08 04:23:56,471 INFO L290 TraceCheckUtils]: 50: Hoare triple {7475#(and (= main_~r~0 0) (= main_~k~0 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_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {7475#(and (= main_~r~0 0) (= main_~k~0 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_~c~0 main_~x~0))} is VALID [2022-04-08 04:23:56,471 INFO L290 TraceCheckUtils]: 51: Hoare triple {7475#(and (= main_~r~0 0) (= main_~k~0 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_~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; {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:23:56,471 INFO L290 TraceCheckUtils]: 52: Hoare triple {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:23:56,472 INFO L290 TraceCheckUtils]: 53: Hoare triple {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:23:56,472 INFO L290 TraceCheckUtils]: 54: Hoare triple {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:23:56,472 INFO L272 TraceCheckUtils]: 55: Hoare triple {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~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)); {7364#true} is VALID [2022-04-08 04:23:56,472 INFO L290 TraceCheckUtils]: 56: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-08 04:23:56,472 INFO L290 TraceCheckUtils]: 57: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-08 04:23:56,472 INFO L290 TraceCheckUtils]: 58: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 04:23:56,473 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7364#true} {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:23:56,473 INFO L272 TraceCheckUtils]: 60: Hoare triple {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~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)); {7364#true} is VALID [2022-04-08 04:23:56,473 INFO L290 TraceCheckUtils]: 61: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-08 04:23:56,473 INFO L290 TraceCheckUtils]: 62: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-08 04:23:56,473 INFO L290 TraceCheckUtils]: 63: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 04:23:56,474 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {7364#true} {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:23:56,474 INFO L272 TraceCheckUtils]: 65: Hoare triple {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~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)); {7364#true} is VALID [2022-04-08 04:23:56,474 INFO L290 TraceCheckUtils]: 66: Hoare triple {7364#true} ~cond := #in~cond; {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:56,474 INFO L290 TraceCheckUtils]: 67: Hoare triple {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:56,474 INFO L290 TraceCheckUtils]: 68: Hoare triple {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:56,475 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7468#(not (= |__VERIFIER_assert_#in~cond| 0))} {7527#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {7582#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:23:56,477 INFO L272 TraceCheckUtils]: 70: Hoare triple {7582#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 main_~x~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)); {7586#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:56,478 INFO L290 TraceCheckUtils]: 71: Hoare triple {7586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:56,478 INFO L290 TraceCheckUtils]: 72: Hoare triple {7590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7365#false} is VALID [2022-04-08 04:23:56,478 INFO L290 TraceCheckUtils]: 73: Hoare triple {7365#false} assume !false; {7365#false} is VALID [2022-04-08 04:23:56,479 INFO L134 CoverageAnalysis]: Checked inductivity of 129 backedges. 26 proven. 31 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-08 04:23:56,479 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:24:46,428 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:24:46,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [427177901] [2022-04-08 04:24:46,429 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:24:46,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [14638757] [2022-04-08 04:24:46,429 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [14638757] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 04:24:46,429 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 04:24:46,429 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-08 04:24:46,429 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:24:46,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [552826607] [2022-04-08 04:24:46,429 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [552826607] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:24:46,430 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:24:46,430 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 04:24:46,430 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [864332598] [2022-04-08 04:24:46,430 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:24:46,430 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 74 [2022-04-08 04:24:46,430 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:24:46,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 04:24:46,474 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-08 04:24:46,475 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 04:24:46,475 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:24:46,475 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 04:24:46,475 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-08 04:24:46,475 INFO L87 Difference]: Start difference. First operand 149 states and 207 transitions. Second operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 04:24:47,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:24:47,713 INFO L93 Difference]: Finished difference Result 161 states and 217 transitions. [2022-04-08 04:24:47,713 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 04:24:47,713 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 74 [2022-04-08 04:24:47,713 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:24:47,714 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 04:24:47,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 93 transitions. [2022-04-08 04:24:47,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 04:24:47,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 93 transitions. [2022-04-08 04:24:47,717 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 93 transitions. [2022-04-08 04:24:47,804 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:24:47,809 INFO L225 Difference]: With dead ends: 161 [2022-04-08 04:24:47,809 INFO L226 Difference]: Without dead ends: 159 [2022-04-08 04:24:47,810 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 66 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=42, Invalid=168, Unknown=0, NotChecked=0, Total=210 [2022-04-08 04:24:47,810 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 23 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 330 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 346 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 330 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:24:47,811 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 180 Invalid, 346 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 330 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 04:24:47,811 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2022-04-08 04:24:48,035 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 157. [2022-04-08 04:24:48,036 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:24:48,037 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand has 157 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 92 states have internal predecessors, (100), 58 states have call successors, (58), 14 states have call predecessors, (58), 13 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:24:48,037 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand has 157 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 92 states have internal predecessors, (100), 58 states have call successors, (58), 14 states have call predecessors, (58), 13 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:24:48,037 INFO L87 Difference]: Start difference. First operand 159 states. Second operand has 157 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 92 states have internal predecessors, (100), 58 states have call successors, (58), 14 states have call predecessors, (58), 13 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:24:48,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:24:48,042 INFO L93 Difference]: Finished difference Result 159 states and 215 transitions. [2022-04-08 04:24:48,042 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 215 transitions. [2022-04-08 04:24:48,042 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:24:48,042 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:24:48,043 INFO L74 IsIncluded]: Start isIncluded. First operand has 157 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 92 states have internal predecessors, (100), 58 states have call successors, (58), 14 states have call predecessors, (58), 13 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 159 states. [2022-04-08 04:24:48,043 INFO L87 Difference]: Start difference. First operand has 157 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 92 states have internal predecessors, (100), 58 states have call successors, (58), 14 states have call predecessors, (58), 13 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 159 states. [2022-04-08 04:24:48,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:24:48,046 INFO L93 Difference]: Finished difference Result 159 states and 215 transitions. [2022-04-08 04:24:48,047 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 215 transitions. [2022-04-08 04:24:48,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:24:48,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:24:48,047 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:24:48,047 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:24:48,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 157 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 92 states have internal predecessors, (100), 58 states have call successors, (58), 14 states have call predecessors, (58), 13 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:24:48,051 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 213 transitions. [2022-04-08 04:24:48,051 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 213 transitions. Word has length 74 [2022-04-08 04:24:48,052 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:24:48,052 INFO L478 AbstractCegarLoop]: Abstraction has 157 states and 213 transitions. [2022-04-08 04:24:48,052 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 04:24:48,052 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 213 transitions. [2022-04-08 04:24:48,327 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 213 edges. 213 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:24:48,327 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 213 transitions. [2022-04-08 04:24:48,328 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-08 04:24:48,328 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:24:48,328 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 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] [2022-04-08 04:24:48,349 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-08 04:24:48,528 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 04:24:48,529 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:24:48,529 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:24:48,529 INFO L85 PathProgramCache]: Analyzing trace with hash -1525288661, now seen corresponding path program 3 times [2022-04-08 04:24:48,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:24:48,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1979846222] [2022-04-08 04:24:48,529 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:24:48,530 INFO L85 PathProgramCache]: Analyzing trace with hash -1525288661, now seen corresponding path program 4 times [2022-04-08 04:24:48,530 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:24:48,530 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1847682347] [2022-04-08 04:24:48,530 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:24:48,530 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:24:48,550 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:24:48,550 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [162211651] [2022-04-08 04:24:48,550 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:24:48,550 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:24:48,550 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:24:48,557 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-08 04:24:48,561 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-08 04:24:48,600 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:24:48,601 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:24:48,601 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-08 04:24:48,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:24:48,621 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:24:49,350 INFO L272 TraceCheckUtils]: 0: Hoare triple {8571#true} call ULTIMATE.init(); {8571#true} is VALID [2022-04-08 04:24:49,350 INFO L290 TraceCheckUtils]: 1: Hoare triple {8571#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); {8571#true} is VALID [2022-04-08 04:24:49,351 INFO L290 TraceCheckUtils]: 2: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:49,351 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8571#true} {8571#true} #96#return; {8571#true} is VALID [2022-04-08 04:24:49,351 INFO L272 TraceCheckUtils]: 4: Hoare triple {8571#true} call #t~ret6 := main(); {8571#true} is VALID [2022-04-08 04:24:49,351 INFO L290 TraceCheckUtils]: 5: Hoare triple {8571#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; {8571#true} is VALID [2022-04-08 04:24:49,351 INFO L272 TraceCheckUtils]: 6: Hoare triple {8571#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8571#true} is VALID [2022-04-08 04:24:49,351 INFO L290 TraceCheckUtils]: 7: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:49,351 INFO L290 TraceCheckUtils]: 8: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:49,351 INFO L290 TraceCheckUtils]: 9: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:49,351 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8571#true} {8571#true} #76#return; {8571#true} is VALID [2022-04-08 04:24:49,351 INFO L272 TraceCheckUtils]: 11: Hoare triple {8571#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8571#true} is VALID [2022-04-08 04:24:49,353 INFO L290 TraceCheckUtils]: 12: Hoare triple {8571#true} ~cond := #in~cond; {8612#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:24:49,354 INFO L290 TraceCheckUtils]: 13: Hoare triple {8612#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8616#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:24:49,354 INFO L290 TraceCheckUtils]: 14: Hoare triple {8616#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8616#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:24:49,354 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8616#(not (= |assume_abort_if_not_#in~cond| 0))} {8571#true} #78#return; {8623#(<= 1 main_~y~0)} is VALID [2022-04-08 04:24:49,355 INFO L290 TraceCheckUtils]: 16: Hoare triple {8623#(<= 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; {8627#(<= 1 main_~b~0)} is VALID [2022-04-08 04:24:49,355 INFO L272 TraceCheckUtils]: 17: Hoare triple {8627#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8571#true} is VALID [2022-04-08 04:24:49,355 INFO L290 TraceCheckUtils]: 18: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:49,355 INFO L290 TraceCheckUtils]: 19: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:49,355 INFO L290 TraceCheckUtils]: 20: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:49,355 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8571#true} {8627#(<= 1 main_~b~0)} #80#return; {8627#(<= 1 main_~b~0)} is VALID [2022-04-08 04:24:49,355 INFO L272 TraceCheckUtils]: 22: Hoare triple {8627#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8571#true} is VALID [2022-04-08 04:24:49,355 INFO L290 TraceCheckUtils]: 23: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:49,355 INFO L290 TraceCheckUtils]: 24: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:49,355 INFO L290 TraceCheckUtils]: 25: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:49,356 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8571#true} {8627#(<= 1 main_~b~0)} #82#return; {8627#(<= 1 main_~b~0)} is VALID [2022-04-08 04:24:49,356 INFO L290 TraceCheckUtils]: 27: Hoare triple {8627#(<= 1 main_~b~0)} assume !false; {8627#(<= 1 main_~b~0)} is VALID [2022-04-08 04:24:49,356 INFO L290 TraceCheckUtils]: 28: Hoare triple {8627#(<= 1 main_~b~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-08 04:24:49,356 INFO L290 TraceCheckUtils]: 29: Hoare triple {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} assume !false; {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-08 04:24:49,357 INFO L272 TraceCheckUtils]: 30: Hoare triple {8664#(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)); {8571#true} is VALID [2022-04-08 04:24:49,357 INFO L290 TraceCheckUtils]: 31: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:49,357 INFO L290 TraceCheckUtils]: 32: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:49,357 INFO L290 TraceCheckUtils]: 33: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:49,357 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8571#true} {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #84#return; {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-08 04:24:49,357 INFO L272 TraceCheckUtils]: 35: Hoare triple {8664#(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)); {8571#true} is VALID [2022-04-08 04:24:49,357 INFO L290 TraceCheckUtils]: 36: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:49,357 INFO L290 TraceCheckUtils]: 37: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:49,357 INFO L290 TraceCheckUtils]: 38: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:49,358 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8571#true} {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #86#return; {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-08 04:24:49,358 INFO L272 TraceCheckUtils]: 40: Hoare triple {8664#(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)); {8571#true} is VALID [2022-04-08 04:24:49,358 INFO L290 TraceCheckUtils]: 41: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:49,358 INFO L290 TraceCheckUtils]: 42: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:49,358 INFO L290 TraceCheckUtils]: 43: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:49,358 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {8571#true} {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #88#return; {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-08 04:24:49,358 INFO L272 TraceCheckUtils]: 45: Hoare triple {8664#(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)); {8571#true} is VALID [2022-04-08 04:24:49,358 INFO L290 TraceCheckUtils]: 46: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:49,359 INFO L290 TraceCheckUtils]: 47: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:49,359 INFO L290 TraceCheckUtils]: 48: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:49,359 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {8571#true} {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} #90#return; {8664#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= 1 main_~b~0))} is VALID [2022-04-08 04:24:49,359 INFO L290 TraceCheckUtils]: 50: Hoare triple {8664#(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; {8731#(and (<= 1 main_~k~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (<= 1 main_~b~0))} is VALID [2022-04-08 04:24:49,360 INFO L290 TraceCheckUtils]: 51: Hoare triple {8731#(and (<= 1 main_~k~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (<= 1 main_~b~0))} assume !false; {8731#(and (<= 1 main_~k~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (<= 1 main_~b~0))} is VALID [2022-04-08 04:24:49,360 INFO L272 TraceCheckUtils]: 52: Hoare triple {8731#(and (<= 1 main_~k~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8571#true} is VALID [2022-04-08 04:24:49,360 INFO L290 TraceCheckUtils]: 53: Hoare triple {8571#true} ~cond := #in~cond; {8741#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:24:49,360 INFO L290 TraceCheckUtils]: 54: Hoare triple {8741#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8745#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:24:49,360 INFO L290 TraceCheckUtils]: 55: Hoare triple {8745#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8745#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:24:49,361 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8745#(not (= |__VERIFIER_assert_#in~cond| 0))} {8731#(and (<= 1 main_~k~0) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (<= 1 main_~b~0))} #84#return; {8752#(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-08 04:24:49,361 INFO L272 TraceCheckUtils]: 57: Hoare triple {8752#(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)); {8571#true} is VALID [2022-04-08 04:24:49,361 INFO L290 TraceCheckUtils]: 58: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:49,361 INFO L290 TraceCheckUtils]: 59: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:49,361 INFO L290 TraceCheckUtils]: 60: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:49,361 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8571#true} {8752#(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))} #86#return; {8752#(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-08 04:24:49,361 INFO L272 TraceCheckUtils]: 62: Hoare triple {8752#(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)); {8571#true} is VALID [2022-04-08 04:24:49,362 INFO L290 TraceCheckUtils]: 63: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:49,362 INFO L290 TraceCheckUtils]: 64: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:49,362 INFO L290 TraceCheckUtils]: 65: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:49,362 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {8571#true} {8752#(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; {8752#(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-08 04:24:49,362 INFO L272 TraceCheckUtils]: 67: Hoare triple {8752#(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)); {8571#true} is VALID [2022-04-08 04:24:49,362 INFO L290 TraceCheckUtils]: 68: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:49,362 INFO L290 TraceCheckUtils]: 69: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:49,362 INFO L290 TraceCheckUtils]: 70: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:49,363 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {8571#true} {8752#(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; {8752#(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-08 04:24:49,364 INFO L290 TraceCheckUtils]: 72: Hoare triple {8752#(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; {8801#(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-08 04:24:49,365 INFO L290 TraceCheckUtils]: 73: Hoare triple {8801#(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 !false; {8801#(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-08 04:24:49,366 INFO L272 TraceCheckUtils]: 74: Hoare triple {8801#(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)); {8808#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:24:49,366 INFO L290 TraceCheckUtils]: 75: Hoare triple {8808#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8812#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:24:49,366 INFO L290 TraceCheckUtils]: 76: Hoare triple {8812#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8572#false} is VALID [2022-04-08 04:24:49,366 INFO L290 TraceCheckUtils]: 77: Hoare triple {8572#false} assume !false; {8572#false} is VALID [2022-04-08 04:24:49,366 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 30 proven. 26 refuted. 0 times theorem prover too weak. 106 trivial. 0 not checked. [2022-04-08 04:24:49,367 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:24:56,424 INFO L290 TraceCheckUtils]: 77: Hoare triple {8572#false} assume !false; {8572#false} is VALID [2022-04-08 04:24:56,424 INFO L290 TraceCheckUtils]: 76: Hoare triple {8812#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8572#false} is VALID [2022-04-08 04:24:56,425 INFO L290 TraceCheckUtils]: 75: Hoare triple {8808#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8812#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:24:56,425 INFO L272 TraceCheckUtils]: 74: Hoare triple {8828#(= 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)); {8808#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:24:56,425 INFO L290 TraceCheckUtils]: 73: Hoare triple {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:24:56,437 INFO L290 TraceCheckUtils]: 72: Hoare triple {8828#(= 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; {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:24:56,437 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {8571#true} {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:24:56,437 INFO L290 TraceCheckUtils]: 70: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:56,438 INFO L290 TraceCheckUtils]: 69: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:56,438 INFO L290 TraceCheckUtils]: 68: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:56,438 INFO L272 TraceCheckUtils]: 67: Hoare triple {8828#(= 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)); {8571#true} is VALID [2022-04-08 04:24:56,438 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {8571#true} {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:24:56,438 INFO L290 TraceCheckUtils]: 65: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:56,438 INFO L290 TraceCheckUtils]: 64: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:56,438 INFO L290 TraceCheckUtils]: 63: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:56,438 INFO L272 TraceCheckUtils]: 62: Hoare triple {8828#(= 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)); {8571#true} is VALID [2022-04-08 04:24:56,439 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8571#true} {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #86#return; {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:24:56,439 INFO L290 TraceCheckUtils]: 60: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:56,439 INFO L290 TraceCheckUtils]: 59: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:56,439 INFO L290 TraceCheckUtils]: 58: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:56,439 INFO L272 TraceCheckUtils]: 57: Hoare triple {8828#(= 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)); {8571#true} is VALID [2022-04-08 04:24:56,439 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8745#(not (= |__VERIFIER_assert_#in~cond| 0))} {8571#true} #84#return; {8828#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:24:56,440 INFO L290 TraceCheckUtils]: 55: Hoare triple {8745#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8745#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:24:56,440 INFO L290 TraceCheckUtils]: 54: Hoare triple {8892#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8745#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:24:56,440 INFO L290 TraceCheckUtils]: 53: Hoare triple {8571#true} ~cond := #in~cond; {8892#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:24:56,440 INFO L272 TraceCheckUtils]: 52: Hoare triple {8571#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8571#true} is VALID [2022-04-08 04:24:56,440 INFO L290 TraceCheckUtils]: 51: Hoare triple {8571#true} assume !false; {8571#true} is VALID [2022-04-08 04:24:56,440 INFO L290 TraceCheckUtils]: 50: Hoare triple {8571#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {8571#true} is VALID [2022-04-08 04:24:56,440 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {8571#true} {8571#true} #90#return; {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L290 TraceCheckUtils]: 48: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L290 TraceCheckUtils]: 47: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L290 TraceCheckUtils]: 46: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L272 TraceCheckUtils]: 45: Hoare triple {8571#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)); {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {8571#true} {8571#true} #88#return; {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L290 TraceCheckUtils]: 43: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L290 TraceCheckUtils]: 42: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L290 TraceCheckUtils]: 41: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L272 TraceCheckUtils]: 40: Hoare triple {8571#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8571#true} {8571#true} #86#return; {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L290 TraceCheckUtils]: 38: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L290 TraceCheckUtils]: 37: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L290 TraceCheckUtils]: 36: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L272 TraceCheckUtils]: 35: Hoare triple {8571#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8571#true} {8571#true} #84#return; {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L290 TraceCheckUtils]: 33: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:56,441 INFO L290 TraceCheckUtils]: 32: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L290 TraceCheckUtils]: 31: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L272 TraceCheckUtils]: 30: Hoare triple {8571#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L290 TraceCheckUtils]: 29: Hoare triple {8571#true} assume !false; {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L290 TraceCheckUtils]: 28: Hoare triple {8571#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L290 TraceCheckUtils]: 27: Hoare triple {8571#true} assume !false; {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8571#true} {8571#true} #82#return; {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L290 TraceCheckUtils]: 25: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L290 TraceCheckUtils]: 24: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L290 TraceCheckUtils]: 23: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L272 TraceCheckUtils]: 22: Hoare triple {8571#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8571#true} {8571#true} #80#return; {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L290 TraceCheckUtils]: 20: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L290 TraceCheckUtils]: 19: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L290 TraceCheckUtils]: 18: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L272 TraceCheckUtils]: 17: Hoare triple {8571#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L290 TraceCheckUtils]: 16: Hoare triple {8571#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; {8571#true} is VALID [2022-04-08 04:24:56,442 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8571#true} {8571#true} #78#return; {8571#true} is VALID [2022-04-08 04:24:56,443 INFO L290 TraceCheckUtils]: 14: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:56,443 INFO L290 TraceCheckUtils]: 13: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:56,443 INFO L290 TraceCheckUtils]: 12: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:56,443 INFO L272 TraceCheckUtils]: 11: Hoare triple {8571#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8571#true} is VALID [2022-04-08 04:24:56,443 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8571#true} {8571#true} #76#return; {8571#true} is VALID [2022-04-08 04:24:56,443 INFO L290 TraceCheckUtils]: 9: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:56,443 INFO L290 TraceCheckUtils]: 8: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 04:24:56,443 INFO L290 TraceCheckUtils]: 7: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 04:24:56,443 INFO L272 TraceCheckUtils]: 6: Hoare triple {8571#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8571#true} is VALID [2022-04-08 04:24:56,443 INFO L290 TraceCheckUtils]: 5: Hoare triple {8571#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; {8571#true} is VALID [2022-04-08 04:24:56,443 INFO L272 TraceCheckUtils]: 4: Hoare triple {8571#true} call #t~ret6 := main(); {8571#true} is VALID [2022-04-08 04:24:56,443 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8571#true} {8571#true} #96#return; {8571#true} is VALID [2022-04-08 04:24:56,443 INFO L290 TraceCheckUtils]: 2: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 04:24:56,443 INFO L290 TraceCheckUtils]: 1: Hoare triple {8571#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); {8571#true} is VALID [2022-04-08 04:24:56,443 INFO L272 TraceCheckUtils]: 0: Hoare triple {8571#true} call ULTIMATE.init(); {8571#true} is VALID [2022-04-08 04:24:56,444 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 35 proven. 10 refuted. 0 times theorem prover too weak. 117 trivial. 0 not checked. [2022-04-08 04:24:56,444 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:24:56,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1847682347] [2022-04-08 04:24:56,444 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:24:56,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [162211651] [2022-04-08 04:24:56,444 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [162211651] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:24:56,444 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:24:56,444 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 7] total 16 [2022-04-08 04:24:56,444 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:24:56,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1979846222] [2022-04-08 04:24:56,444 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1979846222] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:24:56,444 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:24:56,447 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 04:24:56,447 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1187159424] [2022-04-08 04:24:56,447 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:24:56,447 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 11 states have internal predecessors, (26), 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 78 [2022-04-08 04:24:56,448 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:24:56,448 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 11 states have internal predecessors, (26), 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-08 04:24:56,482 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-08 04:24:56,482 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 04:24:56,482 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:24:56,482 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 04:24:56,482 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=199, Unknown=0, NotChecked=0, Total=240 [2022-04-08 04:24:56,487 INFO L87 Difference]: Start difference. First operand 157 states and 213 transitions. Second operand has 14 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 11 states have internal predecessors, (26), 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-08 04:24:59,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:24:59,073 INFO L93 Difference]: Finished difference Result 179 states and 242 transitions. [2022-04-08 04:24:59,073 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 04:24:59,074 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 11 states have internal predecessors, (26), 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 78 [2022-04-08 04:24:59,076 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:24:59,076 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 11 states have internal predecessors, (26), 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-08 04:24:59,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 96 transitions. [2022-04-08 04:24:59,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 11 states have internal predecessors, (26), 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-08 04:24:59,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 96 transitions. [2022-04-08 04:24:59,099 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 96 transitions. [2022-04-08 04:24:59,204 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:24:59,207 INFO L225 Difference]: With dead ends: 179 [2022-04-08 04:24:59,207 INFO L226 Difference]: Without dead ends: 177 [2022-04-08 04:24:59,207 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 139 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-08 04:24:59,208 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 42 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 427 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 480 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 427 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:24:59,208 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [47 Valid, 150 Invalid, 480 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 427 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-08 04:24:59,208 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 177 states. [2022-04-08 04:24:59,415 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 177 to 171. [2022-04-08 04:24:59,416 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:24:59,416 INFO L82 GeneralOperation]: Start isEquivalent. First operand 177 states. Second operand has 171 states, 93 states have (on average 1.1720430107526882) internal successors, (109), 100 states have internal predecessors, (109), 62 states have call successors, (62), 16 states have call predecessors, (62), 15 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-08 04:24:59,416 INFO L74 IsIncluded]: Start isIncluded. First operand 177 states. Second operand has 171 states, 93 states have (on average 1.1720430107526882) internal successors, (109), 100 states have internal predecessors, (109), 62 states have call successors, (62), 16 states have call predecessors, (62), 15 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-08 04:24:59,420 INFO L87 Difference]: Start difference. First operand 177 states. Second operand has 171 states, 93 states have (on average 1.1720430107526882) internal successors, (109), 100 states have internal predecessors, (109), 62 states have call successors, (62), 16 states have call predecessors, (62), 15 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-08 04:24:59,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:24:59,424 INFO L93 Difference]: Finished difference Result 177 states and 240 transitions. [2022-04-08 04:24:59,424 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 240 transitions. [2022-04-08 04:24:59,443 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:24:59,443 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:24:59,444 INFO L74 IsIncluded]: Start isIncluded. First operand has 171 states, 93 states have (on average 1.1720430107526882) internal successors, (109), 100 states have internal predecessors, (109), 62 states have call successors, (62), 16 states have call predecessors, (62), 15 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) Second operand 177 states. [2022-04-08 04:24:59,444 INFO L87 Difference]: Start difference. First operand has 171 states, 93 states have (on average 1.1720430107526882) internal successors, (109), 100 states have internal predecessors, (109), 62 states have call successors, (62), 16 states have call predecessors, (62), 15 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) Second operand 177 states. [2022-04-08 04:24:59,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:24:59,449 INFO L93 Difference]: Finished difference Result 177 states and 240 transitions. [2022-04-08 04:24:59,449 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 240 transitions. [2022-04-08 04:24:59,449 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:24:59,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:24:59,449 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:24:59,450 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:24:59,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 171 states, 93 states have (on average 1.1720430107526882) internal successors, (109), 100 states have internal predecessors, (109), 62 states have call successors, (62), 16 states have call predecessors, (62), 15 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-08 04:24:59,457 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 171 states to 171 states and 230 transitions. [2022-04-08 04:24:59,457 INFO L78 Accepts]: Start accepts. Automaton has 171 states and 230 transitions. Word has length 78 [2022-04-08 04:24:59,457 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:24:59,457 INFO L478 AbstractCegarLoop]: Abstraction has 171 states and 230 transitions. [2022-04-08 04:24:59,457 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 11 states have internal predecessors, (26), 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-08 04:24:59,457 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 171 states and 230 transitions. [2022-04-08 04:24:59,748 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 230 edges. 230 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:24:59,748 INFO L276 IsEmpty]: Start isEmpty. Operand 171 states and 230 transitions. [2022-04-08 04:24:59,748 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-08 04:24:59,749 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:24:59,749 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 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, 1] [2022-04-08 04:24:59,765 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-08 04:24:59,949 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 04:24:59,949 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:24:59,949 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:24:59,949 INFO L85 PathProgramCache]: Analyzing trace with hash 815826741, now seen corresponding path program 1 times [2022-04-08 04:24:59,950 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:24:59,950 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1804827761] [2022-04-08 04:24:59,950 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:24:59,950 INFO L85 PathProgramCache]: Analyzing trace with hash 815826741, now seen corresponding path program 2 times [2022-04-08 04:24:59,950 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:24:59,950 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1030600305] [2022-04-08 04:24:59,950 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:24:59,950 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:24:59,959 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:24:59,959 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [328353852] [2022-04-08 04:24:59,959 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:24:59,959 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:24:59,959 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:24:59,960 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-08 04:24:59,963 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-08 04:25:00,005 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:25:00,006 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:25:00,006 INFO L263 TraceCheckSpWp]: Trace formula consists of 215 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-08 04:25:00,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:25:00,021 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:25:00,881 INFO L272 TraceCheckUtils]: 0: Hoare triple {10122#true} call ULTIMATE.init(); {10122#true} is VALID [2022-04-08 04:25:00,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {10122#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); {10122#true} is VALID [2022-04-08 04:25:00,881 INFO L290 TraceCheckUtils]: 2: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:25:00,881 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10122#true} {10122#true} #96#return; {10122#true} is VALID [2022-04-08 04:25:00,881 INFO L272 TraceCheckUtils]: 4: Hoare triple {10122#true} call #t~ret6 := main(); {10122#true} is VALID [2022-04-08 04:25:00,881 INFO L290 TraceCheckUtils]: 5: Hoare triple {10122#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; {10122#true} is VALID [2022-04-08 04:25:00,881 INFO L272 TraceCheckUtils]: 6: Hoare triple {10122#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10122#true} is VALID [2022-04-08 04:25:00,881 INFO L290 TraceCheckUtils]: 7: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:25:00,882 INFO L290 TraceCheckUtils]: 8: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:25:00,882 INFO L290 TraceCheckUtils]: 9: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:25:00,882 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10122#true} {10122#true} #76#return; {10122#true} is VALID [2022-04-08 04:25:00,882 INFO L272 TraceCheckUtils]: 11: Hoare triple {10122#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10122#true} is VALID [2022-04-08 04:25:00,882 INFO L290 TraceCheckUtils]: 12: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:25:00,882 INFO L290 TraceCheckUtils]: 13: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:25:00,882 INFO L290 TraceCheckUtils]: 14: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:25:00,882 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10122#true} {10122#true} #78#return; {10122#true} is VALID [2022-04-08 04:25:00,882 INFO L290 TraceCheckUtils]: 16: Hoare triple {10122#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; {10175#(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-08 04:25:00,882 INFO L272 TraceCheckUtils]: 17: Hoare triple {10175#(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)); {10122#true} is VALID [2022-04-08 04:25:00,883 INFO L290 TraceCheckUtils]: 18: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:25:00,883 INFO L290 TraceCheckUtils]: 19: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:25:00,883 INFO L290 TraceCheckUtils]: 20: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:25:00,883 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10122#true} {10175#(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))} #80#return; {10175#(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-08 04:25:00,883 INFO L272 TraceCheckUtils]: 22: Hoare triple {10175#(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)); {10122#true} is VALID [2022-04-08 04:25:00,883 INFO L290 TraceCheckUtils]: 23: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:25:00,884 INFO L290 TraceCheckUtils]: 24: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:25:00,884 INFO L290 TraceCheckUtils]: 25: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:25:00,884 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10122#true} {10175#(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; {10175#(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-08 04:25:00,885 INFO L290 TraceCheckUtils]: 27: Hoare triple {10175#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {10175#(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-08 04:25:00,885 INFO L290 TraceCheckUtils]: 28: Hoare triple {10175#(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; {10212#(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-08 04:25:00,885 INFO L290 TraceCheckUtils]: 29: Hoare triple {10212#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {10212#(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-08 04:25:00,885 INFO L272 TraceCheckUtils]: 30: Hoare triple {10212#(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)); {10122#true} is VALID [2022-04-08 04:25:00,885 INFO L290 TraceCheckUtils]: 31: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:25:00,886 INFO L290 TraceCheckUtils]: 32: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:25:00,886 INFO L290 TraceCheckUtils]: 33: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:25:00,886 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10122#true} {10212#(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))} #84#return; {10212#(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-08 04:25:00,886 INFO L272 TraceCheckUtils]: 35: Hoare triple {10212#(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)); {10122#true} is VALID [2022-04-08 04:25:00,886 INFO L290 TraceCheckUtils]: 36: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:25:00,886 INFO L290 TraceCheckUtils]: 37: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:25:00,887 INFO L290 TraceCheckUtils]: 38: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:25:00,887 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {10122#true} {10212#(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; {10212#(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-08 04:25:00,887 INFO L272 TraceCheckUtils]: 40: Hoare triple {10212#(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)); {10122#true} is VALID [2022-04-08 04:25:00,887 INFO L290 TraceCheckUtils]: 41: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:25:00,887 INFO L290 TraceCheckUtils]: 42: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:25:00,887 INFO L290 TraceCheckUtils]: 43: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:25:00,888 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {10122#true} {10212#(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; {10212#(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-08 04:25:00,888 INFO L272 TraceCheckUtils]: 45: Hoare triple {10212#(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)); {10122#true} is VALID [2022-04-08 04:25:00,888 INFO L290 TraceCheckUtils]: 46: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:25:00,888 INFO L290 TraceCheckUtils]: 47: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:25:00,888 INFO L290 TraceCheckUtils]: 48: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:25:00,889 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {10122#true} {10212#(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; {10212#(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-08 04:25:00,890 INFO L290 TraceCheckUtils]: 50: Hoare triple {10212#(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; {10279#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:25:00,890 INFO L290 TraceCheckUtils]: 51: Hoare triple {10279#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {10279#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:25:00,890 INFO L272 TraceCheckUtils]: 52: Hoare triple {10279#(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_~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)); {10122#true} is VALID [2022-04-08 04:25:00,890 INFO L290 TraceCheckUtils]: 53: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:25:00,890 INFO L290 TraceCheckUtils]: 54: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:25:00,890 INFO L290 TraceCheckUtils]: 55: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:25:00,891 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10122#true} {10279#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {10279#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:25:00,891 INFO L272 TraceCheckUtils]: 57: Hoare triple {10279#(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_~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)); {10122#true} is VALID [2022-04-08 04:25:00,891 INFO L290 TraceCheckUtils]: 58: Hoare triple {10122#true} ~cond := #in~cond; {10304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:25:00,892 INFO L290 TraceCheckUtils]: 59: Hoare triple {10304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:25:00,892 INFO L290 TraceCheckUtils]: 60: Hoare triple {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:25:00,893 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} {10279#(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_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {10315#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} is VALID [2022-04-08 04:25:00,893 INFO L272 TraceCheckUtils]: 62: Hoare triple {10315#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10122#true} is VALID [2022-04-08 04:25:00,894 INFO L290 TraceCheckUtils]: 63: Hoare triple {10122#true} ~cond := #in~cond; {10304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:25:00,894 INFO L290 TraceCheckUtils]: 64: Hoare triple {10304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:25:00,894 INFO L290 TraceCheckUtils]: 65: Hoare triple {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:25:00,895 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} {10315#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} #88#return; {10315#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} is VALID [2022-04-08 04:25:00,895 INFO L272 TraceCheckUtils]: 67: Hoare triple {10315#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~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)); {10122#true} is VALID [2022-04-08 04:25:00,895 INFO L290 TraceCheckUtils]: 68: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:25:00,895 INFO L290 TraceCheckUtils]: 69: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:25:00,895 INFO L290 TraceCheckUtils]: 70: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:25:00,896 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {10122#true} {10315#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} #90#return; {10315#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} is VALID [2022-04-08 04:25:00,896 INFO L290 TraceCheckUtils]: 72: Hoare triple {10315#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 main_~b~0)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {10349#(and (= main_~r~0 0) (= main_~s~0 1) (not (<= main_~y~0 main_~c~0)) (<= 0 main_~c~0) (= main_~k~0 1) (= (+ main_~c~0 main_~y~0) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:25:00,897 INFO L290 TraceCheckUtils]: 73: Hoare triple {10349#(and (= main_~r~0 0) (= main_~s~0 1) (not (<= main_~y~0 main_~c~0)) (<= 0 main_~c~0) (= main_~k~0 1) (= (+ main_~c~0 main_~y~0) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~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; {10353#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~0))) (not (<= main_~y~0 (+ main_~x~0 (* main_~y~0 main_~s~0)))) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-08 04:25:00,898 INFO L290 TraceCheckUtils]: 74: Hoare triple {10353#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~0))) (not (<= main_~y~0 (+ main_~x~0 (* main_~y~0 main_~s~0)))) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !false; {10353#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~0))) (not (<= main_~y~0 (+ main_~x~0 (* main_~y~0 main_~s~0)))) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-08 04:25:00,898 INFO L290 TraceCheckUtils]: 75: Hoare triple {10353#(and (<= 0 (+ main_~x~0 (* main_~y~0 main_~s~0))) (not (<= main_~y~0 (+ main_~x~0 (* main_~y~0 main_~s~0)))) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {10360#(and (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-08 04:25:00,899 INFO L272 TraceCheckUtils]: 76: Hoare triple {10360#(and (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~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)); {10364#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:25:00,899 INFO L290 TraceCheckUtils]: 77: Hoare triple {10364#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10368#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:25:00,899 INFO L290 TraceCheckUtils]: 78: Hoare triple {10368#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10123#false} is VALID [2022-04-08 04:25:00,899 INFO L290 TraceCheckUtils]: 79: Hoare triple {10123#false} assume !false; {10123#false} is VALID [2022-04-08 04:25:00,900 INFO L134 CoverageAnalysis]: Checked inductivity of 160 backedges. 44 proven. 16 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-08 04:25:00,900 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:26:39,784 INFO L290 TraceCheckUtils]: 79: Hoare triple {10123#false} assume !false; {10123#false} is VALID [2022-04-08 04:26:39,784 INFO L290 TraceCheckUtils]: 78: Hoare triple {10368#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10123#false} is VALID [2022-04-08 04:26:39,784 INFO L290 TraceCheckUtils]: 77: Hoare triple {10364#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10368#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:39,785 INFO L272 TraceCheckUtils]: 76: Hoare triple {10384#(= (+ (* 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)); {10364#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:26:39,785 INFO L290 TraceCheckUtils]: 75: Hoare triple {10388#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {10384#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-08 04:26:39,786 INFO L290 TraceCheckUtils]: 74: Hoare triple {10388#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !false; {10388#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-08 04:26:40,931 INFO L290 TraceCheckUtils]: 73: Hoare triple {10395#(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; {10388#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-08 04:26:40,931 INFO L290 TraceCheckUtils]: 72: Hoare triple {10399#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~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); {10395#(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-08 04:26:40,932 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {10122#true} {10399#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~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; {10399#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~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-08 04:26:40,932 INFO L290 TraceCheckUtils]: 70: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:26:40,932 INFO L290 TraceCheckUtils]: 69: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:26:40,932 INFO L290 TraceCheckUtils]: 68: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:26:40,932 INFO L272 TraceCheckUtils]: 67: Hoare triple {10399#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~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)); {10122#true} is VALID [2022-04-08 04:26:40,933 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} {10418#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~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; {10399#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~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-08 04:26:40,934 INFO L290 TraceCheckUtils]: 65: Hoare triple {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:40,934 INFO L290 TraceCheckUtils]: 64: Hoare triple {10428#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:40,934 INFO L290 TraceCheckUtils]: 63: Hoare triple {10122#true} ~cond := #in~cond; {10428#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:26:40,934 INFO L272 TraceCheckUtils]: 62: Hoare triple {10418#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~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)); {10122#true} is VALID [2022-04-08 04:26:40,935 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} {10435#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~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; {10418#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~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-08 04:26:40,936 INFO L290 TraceCheckUtils]: 60: Hoare triple {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:40,936 INFO L290 TraceCheckUtils]: 59: Hoare triple {10428#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:40,936 INFO L290 TraceCheckUtils]: 58: Hoare triple {10122#true} ~cond := #in~cond; {10428#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:26:40,936 INFO L272 TraceCheckUtils]: 57: Hoare triple {10435#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~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)); {10122#true} is VALID [2022-04-08 04:26:40,937 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10122#true} {10435#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~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))} #84#return; {10435#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~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-08 04:26:40,937 INFO L290 TraceCheckUtils]: 55: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:26:40,937 INFO L290 TraceCheckUtils]: 54: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:26:40,937 INFO L290 TraceCheckUtils]: 53: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:26:40,937 INFO L272 TraceCheckUtils]: 52: Hoare triple {10435#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~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)); {10122#true} is VALID [2022-04-08 04:26:40,938 INFO L290 TraceCheckUtils]: 51: Hoare triple {10435#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~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 !false; {10435#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~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-08 04:26:41,525 INFO L290 TraceCheckUtils]: 50: Hoare triple {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {10435#(or (not (= main_~c~0 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~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-08 04:26:41,526 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {10122#true} {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} #90#return; {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-08 04:26:41,526 INFO L290 TraceCheckUtils]: 48: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:26:41,526 INFO L290 TraceCheckUtils]: 47: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:26:41,526 INFO L290 TraceCheckUtils]: 46: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:26:41,526 INFO L272 TraceCheckUtils]: 45: Hoare triple {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 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)); {10122#true} is VALID [2022-04-08 04:26:41,527 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {10122#true} {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} #88#return; {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-08 04:26:41,527 INFO L290 TraceCheckUtils]: 43: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:26:41,527 INFO L290 TraceCheckUtils]: 42: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:26:41,527 INFO L290 TraceCheckUtils]: 41: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:26:41,527 INFO L272 TraceCheckUtils]: 40: Hoare triple {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10122#true} is VALID [2022-04-08 04:26:41,528 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {10122#true} {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} #86#return; {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-08 04:26:41,528 INFO L290 TraceCheckUtils]: 38: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:26:41,528 INFO L290 TraceCheckUtils]: 37: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:26:41,528 INFO L290 TraceCheckUtils]: 36: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:26:41,528 INFO L272 TraceCheckUtils]: 35: Hoare triple {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10122#true} is VALID [2022-04-08 04:26:41,529 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10122#true} {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} #84#return; {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-08 04:26:41,529 INFO L290 TraceCheckUtils]: 33: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:26:41,529 INFO L290 TraceCheckUtils]: 32: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:26:41,529 INFO L290 TraceCheckUtils]: 31: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:26:41,529 INFO L272 TraceCheckUtils]: 30: Hoare triple {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10122#true} is VALID [2022-04-08 04:26:41,529 INFO L290 TraceCheckUtils]: 29: Hoare triple {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} assume !false; {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-08 04:26:41,530 INFO L290 TraceCheckUtils]: 28: Hoare triple {10122#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10469#(or (<= (* main_~b~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-08 04:26:41,530 INFO L290 TraceCheckUtils]: 27: Hoare triple {10122#true} assume !false; {10122#true} is VALID [2022-04-08 04:26:41,530 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10122#true} {10122#true} #82#return; {10122#true} is VALID [2022-04-08 04:26:41,530 INFO L290 TraceCheckUtils]: 25: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L290 TraceCheckUtils]: 24: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L290 TraceCheckUtils]: 23: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L272 TraceCheckUtils]: 22: Hoare triple {10122#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10122#true} {10122#true} #80#return; {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L290 TraceCheckUtils]: 20: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L290 TraceCheckUtils]: 19: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L290 TraceCheckUtils]: 18: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L272 TraceCheckUtils]: 17: Hoare triple {10122#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L290 TraceCheckUtils]: 16: Hoare triple {10122#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; {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10122#true} {10122#true} #78#return; {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L290 TraceCheckUtils]: 14: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L290 TraceCheckUtils]: 13: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L290 TraceCheckUtils]: 12: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L272 TraceCheckUtils]: 11: Hoare triple {10122#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10122#true} {10122#true} #76#return; {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L290 TraceCheckUtils]: 9: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:26:41,531 INFO L290 TraceCheckUtils]: 8: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 04:26:41,532 INFO L290 TraceCheckUtils]: 7: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 04:26:41,532 INFO L272 TraceCheckUtils]: 6: Hoare triple {10122#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10122#true} is VALID [2022-04-08 04:26:41,532 INFO L290 TraceCheckUtils]: 5: Hoare triple {10122#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; {10122#true} is VALID [2022-04-08 04:26:41,532 INFO L272 TraceCheckUtils]: 4: Hoare triple {10122#true} call #t~ret6 := main(); {10122#true} is VALID [2022-04-08 04:26:41,532 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10122#true} {10122#true} #96#return; {10122#true} is VALID [2022-04-08 04:26:41,532 INFO L290 TraceCheckUtils]: 2: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 04:26:41,532 INFO L290 TraceCheckUtils]: 1: Hoare triple {10122#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); {10122#true} is VALID [2022-04-08 04:26:41,532 INFO L272 TraceCheckUtils]: 0: Hoare triple {10122#true} call ULTIMATE.init(); {10122#true} is VALID [2022-04-08 04:26:41,532 INFO L134 CoverageAnalysis]: Checked inductivity of 160 backedges. 46 proven. 14 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-08 04:26:41,532 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:26:41,533 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1030600305] [2022-04-08 04:26:41,533 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:26:41,533 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [328353852] [2022-04-08 04:26:41,533 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [328353852] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:26:41,533 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:26:41,533 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 21 [2022-04-08 04:26:41,533 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:26:41,533 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1804827761] [2022-04-08 04:26:41,533 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1804827761] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:26:41,533 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:26:41,533 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 04:26:41,533 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1996354575] [2022-04-08 04:26:41,533 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:26:41,534 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 80 [2022-04-08 04:26:41,534 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:26:41,534 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 04:26:41,581 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:41,581 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 04:26:41,581 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:41,581 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 04:26:41,581 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=334, Unknown=0, NotChecked=0, Total=420 [2022-04-08 04:26:41,582 INFO L87 Difference]: Start difference. First operand 171 states and 230 transitions. Second operand has 13 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 04:26:43,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:43,339 INFO L93 Difference]: Finished difference Result 196 states and 266 transitions. [2022-04-08 04:26:43,340 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 04:26:43,340 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 80 [2022-04-08 04:26:43,340 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:26:43,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 04:26:43,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-08 04:26:43,342 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 04:26:43,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-08 04:26:43,343 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 100 transitions. [2022-04-08 04:26:43,491 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:43,494 INFO L225 Difference]: With dead ends: 196 [2022-04-08 04:26:43,494 INFO L226 Difference]: Without dead ends: 193 [2022-04-08 04:26:43,495 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 139 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 86 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=121, Invalid=479, Unknown=0, NotChecked=0, Total=600 [2022-04-08 04:26:43,497 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 27 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 489 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 517 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 489 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 04:26:43,497 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [38 Valid, 230 Invalid, 517 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 489 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-08 04:26:43,497 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 193 states. [2022-04-08 04:26:43,739 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 193 to 192. [2022-04-08 04:26:43,739 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:26:43,740 INFO L82 GeneralOperation]: Start isEquivalent. First operand 193 states. Second operand has 192 states, 104 states have (on average 1.1730769230769231) internal successors, (122), 112 states have internal predecessors, (122), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (68), 62 states have call predecessors, (68), 68 states have call successors, (68) [2022-04-08 04:26:43,740 INFO L74 IsIncluded]: Start isIncluded. First operand 193 states. Second operand has 192 states, 104 states have (on average 1.1730769230769231) internal successors, (122), 112 states have internal predecessors, (122), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (68), 62 states have call predecessors, (68), 68 states have call successors, (68) [2022-04-08 04:26:43,757 INFO L87 Difference]: Start difference. First operand 193 states. Second operand has 192 states, 104 states have (on average 1.1730769230769231) internal successors, (122), 112 states have internal predecessors, (122), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (68), 62 states have call predecessors, (68), 68 states have call successors, (68) [2022-04-08 04:26:43,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:43,761 INFO L93 Difference]: Finished difference Result 193 states and 262 transitions. [2022-04-08 04:26:43,761 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 262 transitions. [2022-04-08 04:26:43,762 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:43,762 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:43,762 INFO L74 IsIncluded]: Start isIncluded. First operand has 192 states, 104 states have (on average 1.1730769230769231) internal successors, (122), 112 states have internal predecessors, (122), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (68), 62 states have call predecessors, (68), 68 states have call successors, (68) Second operand 193 states. [2022-04-08 04:26:43,762 INFO L87 Difference]: Start difference. First operand has 192 states, 104 states have (on average 1.1730769230769231) internal successors, (122), 112 states have internal predecessors, (122), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (68), 62 states have call predecessors, (68), 68 states have call successors, (68) Second operand 193 states. [2022-04-08 04:26:43,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:43,766 INFO L93 Difference]: Finished difference Result 193 states and 262 transitions. [2022-04-08 04:26:43,766 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 262 transitions. [2022-04-08 04:26:43,767 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:43,767 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:43,767 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:26:43,767 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:26:43,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 192 states, 104 states have (on average 1.1730769230769231) internal successors, (122), 112 states have internal predecessors, (122), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (68), 62 states have call predecessors, (68), 68 states have call successors, (68) [2022-04-08 04:26:43,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192 states to 192 states and 261 transitions. [2022-04-08 04:26:43,771 INFO L78 Accepts]: Start accepts. Automaton has 192 states and 261 transitions. Word has length 80 [2022-04-08 04:26:43,771 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:26:43,771 INFO L478 AbstractCegarLoop]: Abstraction has 192 states and 261 transitions. [2022-04-08 04:26:43,771 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 04:26:43,771 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 192 states and 261 transitions. [2022-04-08 04:26:44,058 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 261 edges. 261 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:44,058 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 261 transitions. [2022-04-08 04:26:44,059 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-08 04:26:44,060 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:26:44,060 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:26:44,078 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-08 04:26:44,275 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 04:26:44,275 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:26:44,275 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:26:44,275 INFO L85 PathProgramCache]: Analyzing trace with hash 1902002164, now seen corresponding path program 7 times [2022-04-08 04:26:44,275 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:44,275 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1400891834] [2022-04-08 04:26:44,276 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:26:44,276 INFO L85 PathProgramCache]: Analyzing trace with hash 1902002164, now seen corresponding path program 8 times [2022-04-08 04:26:44,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:26:44,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [104517662] [2022-04-08 04:26:44,276 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:26:44,276 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:26:44,288 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:26:44,288 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [972329942] [2022-04-08 04:26:44,288 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:26:44,288 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:26:44,288 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:26:44,289 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-08 04:26:44,290 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-08 04:26:44,337 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:26:44,338 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:26:44,338 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 04:26:44,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:44,351 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:26:44,552 INFO L272 TraceCheckUtils]: 0: Hoare triple {11792#true} call ULTIMATE.init(); {11792#true} is VALID [2022-04-08 04:26:44,553 INFO L290 TraceCheckUtils]: 1: Hoare triple {11792#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); {11792#true} is VALID [2022-04-08 04:26:44,553 INFO L290 TraceCheckUtils]: 2: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 04:26:44,553 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11792#true} {11792#true} #96#return; {11792#true} is VALID [2022-04-08 04:26:44,553 INFO L272 TraceCheckUtils]: 4: Hoare triple {11792#true} call #t~ret6 := main(); {11792#true} is VALID [2022-04-08 04:26:44,553 INFO L290 TraceCheckUtils]: 5: Hoare triple {11792#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; {11792#true} is VALID [2022-04-08 04:26:44,553 INFO L272 TraceCheckUtils]: 6: Hoare triple {11792#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11792#true} is VALID [2022-04-08 04:26:44,553 INFO L290 TraceCheckUtils]: 7: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 04:26:44,553 INFO L290 TraceCheckUtils]: 8: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 04:26:44,553 INFO L290 TraceCheckUtils]: 9: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 04:26:44,553 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11792#true} {11792#true} #76#return; {11792#true} is VALID [2022-04-08 04:26:44,553 INFO L272 TraceCheckUtils]: 11: Hoare triple {11792#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11792#true} is VALID [2022-04-08 04:26:44,553 INFO L290 TraceCheckUtils]: 12: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 04:26:44,553 INFO L290 TraceCheckUtils]: 13: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 04:26:44,553 INFO L290 TraceCheckUtils]: 14: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11792#true} {11792#true} #78#return; {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L290 TraceCheckUtils]: 16: Hoare triple {11792#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; {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L272 TraceCheckUtils]: 17: Hoare triple {11792#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L290 TraceCheckUtils]: 18: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L290 TraceCheckUtils]: 19: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L290 TraceCheckUtils]: 20: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11792#true} {11792#true} #80#return; {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L272 TraceCheckUtils]: 22: Hoare triple {11792#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L290 TraceCheckUtils]: 23: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L290 TraceCheckUtils]: 24: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L290 TraceCheckUtils]: 25: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11792#true} {11792#true} #82#return; {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L290 TraceCheckUtils]: 27: Hoare triple {11792#true} assume !false; {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L290 TraceCheckUtils]: 28: Hoare triple {11792#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L290 TraceCheckUtils]: 29: Hoare triple {11792#true} assume !false; {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L272 TraceCheckUtils]: 30: Hoare triple {11792#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11792#true} is VALID [2022-04-08 04:26:44,554 INFO L290 TraceCheckUtils]: 31: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L290 TraceCheckUtils]: 32: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L290 TraceCheckUtils]: 33: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {11792#true} {11792#true} #84#return; {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L272 TraceCheckUtils]: 35: Hoare triple {11792#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L290 TraceCheckUtils]: 36: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L290 TraceCheckUtils]: 37: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L290 TraceCheckUtils]: 38: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {11792#true} {11792#true} #86#return; {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L272 TraceCheckUtils]: 40: Hoare triple {11792#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L290 TraceCheckUtils]: 41: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L290 TraceCheckUtils]: 42: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L290 TraceCheckUtils]: 43: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {11792#true} {11792#true} #88#return; {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L272 TraceCheckUtils]: 45: Hoare triple {11792#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)); {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L290 TraceCheckUtils]: 46: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L290 TraceCheckUtils]: 47: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 04:26:44,555 INFO L290 TraceCheckUtils]: 48: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 04:26:44,556 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {11792#true} {11792#true} #90#return; {11792#true} is VALID [2022-04-08 04:26:44,556 INFO L290 TraceCheckUtils]: 50: Hoare triple {11792#true} assume !(~c~0 >= ~b~0); {11947#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 04:26:44,556 INFO L290 TraceCheckUtils]: 51: Hoare triple {11947#(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; {11951#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 04:26:44,556 INFO L290 TraceCheckUtils]: 52: Hoare triple {11951#(< main_~b~0 main_~a~0)} assume !false; {11951#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 04:26:44,557 INFO L290 TraceCheckUtils]: 53: Hoare triple {11951#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11958#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:26:44,557 INFO L290 TraceCheckUtils]: 54: Hoare triple {11958#(< main_~b~0 main_~c~0)} assume !false; {11958#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:26:44,557 INFO L272 TraceCheckUtils]: 55: Hoare triple {11958#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11792#true} is VALID [2022-04-08 04:26:44,557 INFO L290 TraceCheckUtils]: 56: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 04:26:44,557 INFO L290 TraceCheckUtils]: 57: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 04:26:44,557 INFO L290 TraceCheckUtils]: 58: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 04:26:44,558 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {11792#true} {11958#(< main_~b~0 main_~c~0)} #84#return; {11958#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:26:44,558 INFO L272 TraceCheckUtils]: 60: Hoare triple {11958#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11792#true} is VALID [2022-04-08 04:26:44,558 INFO L290 TraceCheckUtils]: 61: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 04:26:44,558 INFO L290 TraceCheckUtils]: 62: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 04:26:44,558 INFO L290 TraceCheckUtils]: 63: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 04:26:44,558 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {11792#true} {11958#(< main_~b~0 main_~c~0)} #86#return; {11958#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:26:44,559 INFO L272 TraceCheckUtils]: 65: Hoare triple {11958#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11792#true} is VALID [2022-04-08 04:26:44,559 INFO L290 TraceCheckUtils]: 66: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 04:26:44,559 INFO L290 TraceCheckUtils]: 67: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 04:26:44,559 INFO L290 TraceCheckUtils]: 68: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 04:26:44,559 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {11792#true} {11958#(< main_~b~0 main_~c~0)} #88#return; {11958#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:26:44,559 INFO L272 TraceCheckUtils]: 70: Hoare triple {11958#(< 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)); {11792#true} is VALID [2022-04-08 04:26:44,559 INFO L290 TraceCheckUtils]: 71: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 04:26:44,559 INFO L290 TraceCheckUtils]: 72: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 04:26:44,559 INFO L290 TraceCheckUtils]: 73: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 04:26:44,560 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11792#true} {11958#(< main_~b~0 main_~c~0)} #90#return; {11958#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:26:44,561 INFO L290 TraceCheckUtils]: 75: Hoare triple {11958#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {11793#false} is VALID [2022-04-08 04:26:44,561 INFO L290 TraceCheckUtils]: 76: Hoare triple {11793#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; {11793#false} is VALID [2022-04-08 04:26:44,561 INFO L290 TraceCheckUtils]: 77: Hoare triple {11793#false} assume !false; {11793#false} is VALID [2022-04-08 04:26:44,561 INFO L290 TraceCheckUtils]: 78: Hoare triple {11793#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11793#false} is VALID [2022-04-08 04:26:44,561 INFO L290 TraceCheckUtils]: 79: Hoare triple {11793#false} assume !false; {11793#false} is VALID [2022-04-08 04:26:44,561 INFO L272 TraceCheckUtils]: 80: Hoare triple {11793#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11793#false} is VALID [2022-04-08 04:26:44,561 INFO L290 TraceCheckUtils]: 81: Hoare triple {11793#false} ~cond := #in~cond; {11793#false} is VALID [2022-04-08 04:26:44,561 INFO L290 TraceCheckUtils]: 82: Hoare triple {11793#false} assume !(0 == ~cond); {11793#false} is VALID [2022-04-08 04:26:44,561 INFO L290 TraceCheckUtils]: 83: Hoare triple {11793#false} assume true; {11793#false} is VALID [2022-04-08 04:26:44,561 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11793#false} {11793#false} #84#return; {11793#false} is VALID [2022-04-08 04:26:44,561 INFO L272 TraceCheckUtils]: 85: Hoare triple {11793#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11793#false} is VALID [2022-04-08 04:26:44,561 INFO L290 TraceCheckUtils]: 86: Hoare triple {11793#false} ~cond := #in~cond; {11793#false} is VALID [2022-04-08 04:26:44,561 INFO L290 TraceCheckUtils]: 87: Hoare triple {11793#false} assume 0 == ~cond; {11793#false} is VALID [2022-04-08 04:26:44,561 INFO L290 TraceCheckUtils]: 88: Hoare triple {11793#false} assume !false; {11793#false} is VALID [2022-04-08 04:26:44,562 INFO L134 CoverageAnalysis]: Checked inductivity of 205 backedges. 67 proven. 0 refuted. 0 times theorem prover too weak. 138 trivial. 0 not checked. [2022-04-08 04:26:44,562 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 04:26:44,562 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:26:44,562 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [104517662] [2022-04-08 04:26:44,562 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:26:44,562 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [972329942] [2022-04-08 04:26:44,562 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [972329942] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:26:44,562 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:26:44,562 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:26:44,562 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:26:44,562 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1400891834] [2022-04-08 04:26:44,562 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1400891834] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:26:44,562 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:26:44,562 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:26:44,562 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1604695896] [2022-04-08 04:26:44,562 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:26:44,563 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 89 [2022-04-08 04:26:44,563 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:26:44,563 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 04:26:44,604 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-08 04:26:44,604 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:26:44,605 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:44,605 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:26:44,605 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 04:26:44,605 INFO L87 Difference]: Start difference. First operand 192 states and 261 transitions. Second operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 04:26:45,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:45,105 INFO L93 Difference]: Finished difference Result 234 states and 319 transitions. [2022-04-08 04:26:45,105 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 04:26:45,105 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 89 [2022-04-08 04:26:45,106 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:26:45,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 04:26:45,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 89 transitions. [2022-04-08 04:26:45,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 04:26:45,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 89 transitions. [2022-04-08 04:26:45,108 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 89 transitions. [2022-04-08 04:26:45,175 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-08 04:26:45,177 INFO L225 Difference]: With dead ends: 234 [2022-04-08 04:26:45,178 INFO L226 Difference]: Without dead ends: 175 [2022-04-08 04:26:45,178 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 85 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-08 04:26:45,179 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 6 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 74 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:26:45,179 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 143 Invalid, 74 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:26:45,179 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 175 states. [2022-04-08 04:26:45,447 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 175 to 166. [2022-04-08 04:26:45,447 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:26:45,448 INFO L82 GeneralOperation]: Start isEquivalent. First operand 175 states. Second operand has 166 states, 91 states have (on average 1.10989010989011) internal successors, (101), 98 states have internal predecessors, (101), 58 states have call successors, (58), 17 states have call predecessors, (58), 16 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:26:45,448 INFO L74 IsIncluded]: Start isIncluded. First operand 175 states. Second operand has 166 states, 91 states have (on average 1.10989010989011) internal successors, (101), 98 states have internal predecessors, (101), 58 states have call successors, (58), 17 states have call predecessors, (58), 16 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:26:45,448 INFO L87 Difference]: Start difference. First operand 175 states. Second operand has 166 states, 91 states have (on average 1.10989010989011) internal successors, (101), 98 states have internal predecessors, (101), 58 states have call successors, (58), 17 states have call predecessors, (58), 16 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:26:45,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:45,451 INFO L93 Difference]: Finished difference Result 175 states and 228 transitions. [2022-04-08 04:26:45,451 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 228 transitions. [2022-04-08 04:26:45,452 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:45,452 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:45,452 INFO L74 IsIncluded]: Start isIncluded. First operand has 166 states, 91 states have (on average 1.10989010989011) internal successors, (101), 98 states have internal predecessors, (101), 58 states have call successors, (58), 17 states have call predecessors, (58), 16 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 175 states. [2022-04-08 04:26:45,452 INFO L87 Difference]: Start difference. First operand has 166 states, 91 states have (on average 1.10989010989011) internal successors, (101), 98 states have internal predecessors, (101), 58 states have call successors, (58), 17 states have call predecessors, (58), 16 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 175 states. [2022-04-08 04:26:45,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:45,455 INFO L93 Difference]: Finished difference Result 175 states and 228 transitions. [2022-04-08 04:26:45,456 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 228 transitions. [2022-04-08 04:26:45,456 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:45,456 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:45,456 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:26:45,456 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:26:45,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 166 states, 91 states have (on average 1.10989010989011) internal successors, (101), 98 states have internal predecessors, (101), 58 states have call successors, (58), 17 states have call predecessors, (58), 16 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:26:45,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 214 transitions. [2022-04-08 04:26:45,460 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 214 transitions. Word has length 89 [2022-04-08 04:26:45,460 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:26:45,460 INFO L478 AbstractCegarLoop]: Abstraction has 166 states and 214 transitions. [2022-04-08 04:26:45,460 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 04:26:45,460 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 166 states and 214 transitions. [2022-04-08 04:26:45,767 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 214 edges. 214 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:45,768 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 214 transitions. [2022-04-08 04:26:45,768 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2022-04-08 04:26:45,768 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:26:45,768 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 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-08 04:26:45,788 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-08 04:26:45,969 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 04:26:45,969 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:26:45,969 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:26:45,969 INFO L85 PathProgramCache]: Analyzing trace with hash -1738688612, now seen corresponding path program 1 times [2022-04-08 04:26:45,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:45,969 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1986662387] [2022-04-08 04:26:45,970 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:26:45,970 INFO L85 PathProgramCache]: Analyzing trace with hash -1738688612, now seen corresponding path program 2 times [2022-04-08 04:26:45,970 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:26:45,970 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [386012300] [2022-04-08 04:26:45,970 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:26:45,970 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:26:45,980 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:26:45,980 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1550197609] [2022-04-08 04:26:45,980 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:26:45,980 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:26:45,980 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:26:45,981 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-08 04:26:45,982 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-08 04:26:46,036 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:26:46,037 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:26:46,038 INFO L263 TraceCheckSpWp]: Trace formula consists of 246 conjuncts, 61 conjunts are in the unsatisfiable core [2022-04-08 04:26:46,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:46,093 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:26:54,423 INFO L272 TraceCheckUtils]: 0: Hoare triple {13217#true} call ULTIMATE.init(); {13217#true} is VALID [2022-04-08 04:26:54,423 INFO L290 TraceCheckUtils]: 1: Hoare triple {13217#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); {13217#true} is VALID [2022-04-08 04:26:54,424 INFO L290 TraceCheckUtils]: 2: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 04:26:54,424 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13217#true} {13217#true} #96#return; {13217#true} is VALID [2022-04-08 04:26:54,424 INFO L272 TraceCheckUtils]: 4: Hoare triple {13217#true} call #t~ret6 := main(); {13217#true} is VALID [2022-04-08 04:26:54,424 INFO L290 TraceCheckUtils]: 5: Hoare triple {13217#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; {13217#true} is VALID [2022-04-08 04:26:54,424 INFO L272 TraceCheckUtils]: 6: Hoare triple {13217#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13217#true} is VALID [2022-04-08 04:26:54,424 INFO L290 TraceCheckUtils]: 7: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 04:26:54,424 INFO L290 TraceCheckUtils]: 8: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 04:26:54,424 INFO L290 TraceCheckUtils]: 9: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 04:26:54,424 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13217#true} {13217#true} #76#return; {13217#true} is VALID [2022-04-08 04:26:54,424 INFO L272 TraceCheckUtils]: 11: Hoare triple {13217#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13217#true} is VALID [2022-04-08 04:26:54,424 INFO L290 TraceCheckUtils]: 12: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 04:26:54,424 INFO L290 TraceCheckUtils]: 13: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 04:26:54,424 INFO L290 TraceCheckUtils]: 14: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 04:26:54,424 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13217#true} {13217#true} #78#return; {13217#true} is VALID [2022-04-08 04:26:54,425 INFO L290 TraceCheckUtils]: 16: Hoare triple {13217#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; {13270#(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))} is VALID [2022-04-08 04:26:54,425 INFO L272 TraceCheckUtils]: 17: Hoare triple {13270#(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))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {13217#true} is VALID [2022-04-08 04:26:54,425 INFO L290 TraceCheckUtils]: 18: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 04:26:54,425 INFO L290 TraceCheckUtils]: 19: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 04:26:54,425 INFO L290 TraceCheckUtils]: 20: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 04:26:54,425 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13217#true} {13270#(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))} #80#return; {13270#(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))} is VALID [2022-04-08 04:26:54,426 INFO L272 TraceCheckUtils]: 22: Hoare triple {13270#(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))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {13217#true} is VALID [2022-04-08 04:26:54,426 INFO L290 TraceCheckUtils]: 23: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 04:26:54,426 INFO L290 TraceCheckUtils]: 24: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 04:26:54,426 INFO L290 TraceCheckUtils]: 25: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 04:26:54,426 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13217#true} {13270#(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))} #82#return; {13270#(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))} is VALID [2022-04-08 04:26:54,427 INFO L290 TraceCheckUtils]: 27: Hoare triple {13270#(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))} assume !false; {13270#(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))} is VALID [2022-04-08 04:26:54,427 INFO L290 TraceCheckUtils]: 28: Hoare triple {13270#(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))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13307#(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_~c~0 main_~x~0))} is VALID [2022-04-08 04:26:54,427 INFO L290 TraceCheckUtils]: 29: Hoare triple {13307#(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_~c~0 main_~x~0))} assume !false; {13307#(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_~c~0 main_~x~0))} is VALID [2022-04-08 04:26:54,427 INFO L272 TraceCheckUtils]: 30: Hoare triple {13307#(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_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13217#true} is VALID [2022-04-08 04:26:54,427 INFO L290 TraceCheckUtils]: 31: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 04:26:54,427 INFO L290 TraceCheckUtils]: 32: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 04:26:54,428 INFO L290 TraceCheckUtils]: 33: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 04:26:54,428 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {13217#true} {13307#(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_~c~0 main_~x~0))} #84#return; {13307#(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_~c~0 main_~x~0))} is VALID [2022-04-08 04:26:54,428 INFO L272 TraceCheckUtils]: 35: Hoare triple {13307#(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_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13217#true} is VALID [2022-04-08 04:26:54,428 INFO L290 TraceCheckUtils]: 36: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 04:26:54,428 INFO L290 TraceCheckUtils]: 37: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 04:26:54,428 INFO L290 TraceCheckUtils]: 38: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 04:26:54,429 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {13217#true} {13307#(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_~c~0 main_~x~0))} #86#return; {13307#(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_~c~0 main_~x~0))} is VALID [2022-04-08 04:26:54,429 INFO L272 TraceCheckUtils]: 40: Hoare triple {13307#(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_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13217#true} is VALID [2022-04-08 04:26:54,429 INFO L290 TraceCheckUtils]: 41: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 04:26:54,429 INFO L290 TraceCheckUtils]: 42: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 04:26:54,429 INFO L290 TraceCheckUtils]: 43: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 04:26:54,430 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {13217#true} {13307#(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_~c~0 main_~x~0))} #88#return; {13307#(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_~c~0 main_~x~0))} is VALID [2022-04-08 04:26:54,430 INFO L272 TraceCheckUtils]: 45: Hoare triple {13307#(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_~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)); {13217#true} is VALID [2022-04-08 04:26:54,430 INFO L290 TraceCheckUtils]: 46: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 04:26:54,430 INFO L290 TraceCheckUtils]: 47: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 04:26:54,430 INFO L290 TraceCheckUtils]: 48: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 04:26:54,430 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {13217#true} {13307#(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_~c~0 main_~x~0))} #90#return; {13307#(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_~c~0 main_~x~0))} is VALID [2022-04-08 04:26:54,431 INFO L290 TraceCheckUtils]: 50: Hoare triple {13307#(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_~c~0 main_~x~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:26:54,444 INFO L290 TraceCheckUtils]: 51: Hoare triple {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:26:54,444 INFO L272 TraceCheckUtils]: 52: Hoare triple {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 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)); {13217#true} is VALID [2022-04-08 04:26:54,444 INFO L290 TraceCheckUtils]: 53: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 04:26:54,444 INFO L290 TraceCheckUtils]: 54: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 04:26:54,444 INFO L290 TraceCheckUtils]: 55: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 04:26:54,451 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13217#true} {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:26:54,452 INFO L272 TraceCheckUtils]: 57: Hoare triple {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 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)); {13217#true} is VALID [2022-04-08 04:26:54,452 INFO L290 TraceCheckUtils]: 58: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 04:26:54,452 INFO L290 TraceCheckUtils]: 59: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 04:26:54,452 INFO L290 TraceCheckUtils]: 60: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 04:26:54,452 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13217#true} {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:26:54,453 INFO L272 TraceCheckUtils]: 62: Hoare triple {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 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)); {13217#true} is VALID [2022-04-08 04:26:54,453 INFO L290 TraceCheckUtils]: 63: Hoare triple {13217#true} ~cond := #in~cond; {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:54,453 INFO L290 TraceCheckUtils]: 64: Hoare triple {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:54,453 INFO L290 TraceCheckUtils]: 65: Hoare triple {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:54,454 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:26:54,454 INFO L272 TraceCheckUtils]: 67: Hoare triple {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 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)); {13217#true} is VALID [2022-04-08 04:26:54,454 INFO L290 TraceCheckUtils]: 68: Hoare triple {13217#true} ~cond := #in~cond; {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:54,455 INFO L290 TraceCheckUtils]: 69: Hoare triple {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:54,455 INFO L290 TraceCheckUtils]: 70: Hoare triple {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:54,455 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #90#return; {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:26:54,456 INFO L290 TraceCheckUtils]: 72: Hoare triple {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:26:54,456 INFO L290 TraceCheckUtils]: 73: Hoare triple {13374#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= 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; {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:26:54,457 INFO L290 TraceCheckUtils]: 74: Hoare triple {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:26:54,457 INFO L290 TraceCheckUtils]: 75: Hoare triple {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~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; {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:26:54,458 INFO L290 TraceCheckUtils]: 76: Hoare triple {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:26:54,458 INFO L272 TraceCheckUtils]: 77: Hoare triple {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~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)); {13217#true} is VALID [2022-04-08 04:26:54,458 INFO L290 TraceCheckUtils]: 78: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 04:26:54,458 INFO L290 TraceCheckUtils]: 79: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 04:26:54,458 INFO L290 TraceCheckUtils]: 80: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 04:26:54,459 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {13217#true} {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:26:54,459 INFO L272 TraceCheckUtils]: 82: Hoare triple {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~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)); {13217#true} is VALID [2022-04-08 04:26:54,459 INFO L290 TraceCheckUtils]: 83: Hoare triple {13217#true} ~cond := #in~cond; {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:54,459 INFO L290 TraceCheckUtils]: 84: Hoare triple {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:54,459 INFO L290 TraceCheckUtils]: 85: Hoare triple {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:54,460 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} {13446#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {13486#(and (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:26:54,460 INFO L272 TraceCheckUtils]: 87: Hoare triple {13486#(and (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~x~0 (+ main_~b~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)); {13217#true} is VALID [2022-04-08 04:26:54,461 INFO L290 TraceCheckUtils]: 88: Hoare triple {13217#true} ~cond := #in~cond; {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:54,461 INFO L290 TraceCheckUtils]: 89: Hoare triple {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:54,461 INFO L290 TraceCheckUtils]: 90: Hoare triple {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:54,462 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {13418#(not (= |__VERIFIER_assert_#in~cond| 0))} {13486#(and (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {13502#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:26:54,551 INFO L272 TraceCheckUtils]: 92: Hoare triple {13502#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~x~0 (+ main_~b~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)); {13506#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:26:54,552 INFO L290 TraceCheckUtils]: 93: Hoare triple {13506#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13510#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:54,552 INFO L290 TraceCheckUtils]: 94: Hoare triple {13510#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13218#false} is VALID [2022-04-08 04:26:54,552 INFO L290 TraceCheckUtils]: 95: Hoare triple {13218#false} assume !false; {13218#false} is VALID [2022-04-08 04:26:54,553 INFO L134 CoverageAnalysis]: Checked inductivity of 284 backedges. 96 proven. 28 refuted. 0 times theorem prover too weak. 160 trivial. 0 not checked. [2022-04-08 04:26:54,553 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:28:29,985 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:28:29,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [386012300] [2022-04-08 04:28:29,986 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:28:29,986 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1550197609] [2022-04-08 04:28:29,986 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1550197609] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 04:28:29,986 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 04:28:29,986 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2022-04-08 04:28:29,986 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:28:29,986 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1986662387] [2022-04-08 04:28:29,986 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1986662387] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:28:29,986 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:28:29,986 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 04:28:29,986 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [660364327] [2022-04-08 04:28:29,986 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:28:29,987 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 96 [2022-04-08 04:28:29,987 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:28:29,987 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 04:28:30,111 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:30,112 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 04:28:30,112 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:30,112 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 04:28:30,112 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=235, Unknown=3, NotChecked=0, Total=306 [2022-04-08 04:28:30,112 INFO L87 Difference]: Start difference. First operand 166 states and 214 transitions. Second operand has 12 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 04:28:41,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:41,281 INFO L93 Difference]: Finished difference Result 181 states and 226 transitions. [2022-04-08 04:28:41,281 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 04:28:41,281 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 96 [2022-04-08 04:28:41,282 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:28:41,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 04:28:41,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 105 transitions. [2022-04-08 04:28:41,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 04:28:41,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 105 transitions. [2022-04-08 04:28:41,284 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 105 transitions. [2022-04-08 04:28:41,470 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:41,472 INFO L225 Difference]: With dead ends: 181 [2022-04-08 04:28:41,473 INFO L226 Difference]: Without dead ends: 179 [2022-04-08 04:28:41,473 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 103 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 9.7s TimeCoverageRelationStatistics Valid=109, Invalid=394, Unknown=3, NotChecked=0, Total=506 [2022-04-08 04:28:41,473 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 27 mSDsluCounter, 185 mSDsCounter, 0 mSdLazyCounter, 534 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 231 SdHoareTripleChecker+Invalid, 569 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 534 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-08 04:28:41,474 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 231 Invalid, 569 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 534 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-08 04:28:41,474 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 179 states. [2022-04-08 04:28:41,804 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 179 to 178. [2022-04-08 04:28:41,804 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:28:41,805 INFO L82 GeneralOperation]: Start isEquivalent. First operand 179 states. Second operand has 178 states, 100 states have (on average 1.1) internal successors, (110), 107 states have internal predecessors, (110), 58 states have call successors, (58), 20 states have call predecessors, (58), 19 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:28:41,805 INFO L74 IsIncluded]: Start isIncluded. First operand 179 states. Second operand has 178 states, 100 states have (on average 1.1) internal successors, (110), 107 states have internal predecessors, (110), 58 states have call successors, (58), 20 states have call predecessors, (58), 19 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:28:41,805 INFO L87 Difference]: Start difference. First operand 179 states. Second operand has 178 states, 100 states have (on average 1.1) internal successors, (110), 107 states have internal predecessors, (110), 58 states have call successors, (58), 20 states have call predecessors, (58), 19 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:28:41,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:41,809 INFO L93 Difference]: Finished difference Result 179 states and 224 transitions. [2022-04-08 04:28:41,809 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 224 transitions. [2022-04-08 04:28:41,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:41,809 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:41,810 INFO L74 IsIncluded]: Start isIncluded. First operand has 178 states, 100 states have (on average 1.1) internal successors, (110), 107 states have internal predecessors, (110), 58 states have call successors, (58), 20 states have call predecessors, (58), 19 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 179 states. [2022-04-08 04:28:41,810 INFO L87 Difference]: Start difference. First operand has 178 states, 100 states have (on average 1.1) internal successors, (110), 107 states have internal predecessors, (110), 58 states have call successors, (58), 20 states have call predecessors, (58), 19 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 179 states. [2022-04-08 04:28:41,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:41,813 INFO L93 Difference]: Finished difference Result 179 states and 224 transitions. [2022-04-08 04:28:41,813 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 224 transitions. [2022-04-08 04:28:41,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:41,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:41,813 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:28:41,813 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:28:41,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 178 states, 100 states have (on average 1.1) internal successors, (110), 107 states have internal predecessors, (110), 58 states have call successors, (58), 20 states have call predecessors, (58), 19 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:28:41,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 178 states to 178 states and 223 transitions. [2022-04-08 04:28:41,817 INFO L78 Accepts]: Start accepts. Automaton has 178 states and 223 transitions. Word has length 96 [2022-04-08 04:28:41,817 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:28:41,817 INFO L478 AbstractCegarLoop]: Abstraction has 178 states and 223 transitions. [2022-04-08 04:28:41,818 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 04:28:41,818 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 178 states and 223 transitions. [2022-04-08 04:28:42,174 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-08 04:28:42,174 INFO L276 IsEmpty]: Start isEmpty. Operand 178 states and 223 transitions. [2022-04-08 04:28:42,175 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-08 04:28:42,175 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:28:42,175 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 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] [2022-04-08 04:28:42,192 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-08 04:28:42,395 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:28:42,395 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:28:42,396 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:28:42,396 INFO L85 PathProgramCache]: Analyzing trace with hash -1265808182, now seen corresponding path program 5 times [2022-04-08 04:28:42,396 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:42,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [12846826] [2022-04-08 04:28:42,396 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:28:42,396 INFO L85 PathProgramCache]: Analyzing trace with hash -1265808182, now seen corresponding path program 6 times [2022-04-08 04:28:42,396 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:28:42,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1616174444] [2022-04-08 04:28:42,396 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:28:42,396 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:28:42,415 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:28:42,415 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [448510549] [2022-04-08 04:28:42,415 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:28:42,415 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:28:42,415 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:28:42,428 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-08 04:28:42,429 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-08 04:28:42,480 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-08 04:28:42,481 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:28:42,481 INFO L263 TraceCheckSpWp]: Trace formula consists of 182 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 04:28:42,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:28:42,494 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:28:42,871 INFO L272 TraceCheckUtils]: 0: Hoare triple {14683#true} call ULTIMATE.init(); {14683#true} is VALID [2022-04-08 04:28:42,871 INFO L290 TraceCheckUtils]: 1: Hoare triple {14683#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); {14683#true} is VALID [2022-04-08 04:28:42,871 INFO L290 TraceCheckUtils]: 2: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,871 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14683#true} {14683#true} #96#return; {14683#true} is VALID [2022-04-08 04:28:42,871 INFO L272 TraceCheckUtils]: 4: Hoare triple {14683#true} call #t~ret6 := main(); {14683#true} is VALID [2022-04-08 04:28:42,871 INFO L290 TraceCheckUtils]: 5: Hoare triple {14683#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; {14683#true} is VALID [2022-04-08 04:28:42,871 INFO L272 TraceCheckUtils]: 6: Hoare triple {14683#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14683#true} is VALID [2022-04-08 04:28:42,871 INFO L290 TraceCheckUtils]: 7: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:42,871 INFO L290 TraceCheckUtils]: 8: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:42,871 INFO L290 TraceCheckUtils]: 9: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,871 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14683#true} {14683#true} #76#return; {14683#true} is VALID [2022-04-08 04:28:42,871 INFO L272 TraceCheckUtils]: 11: Hoare triple {14683#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14683#true} is VALID [2022-04-08 04:28:42,871 INFO L290 TraceCheckUtils]: 12: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:42,872 INFO L290 TraceCheckUtils]: 13: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:42,872 INFO L290 TraceCheckUtils]: 14: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,872 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14683#true} {14683#true} #78#return; {14683#true} is VALID [2022-04-08 04:28:42,872 INFO L290 TraceCheckUtils]: 16: Hoare triple {14683#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; {14683#true} is VALID [2022-04-08 04:28:42,872 INFO L272 TraceCheckUtils]: 17: Hoare triple {14683#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14683#true} is VALID [2022-04-08 04:28:42,872 INFO L290 TraceCheckUtils]: 18: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:42,872 INFO L290 TraceCheckUtils]: 19: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:42,872 INFO L290 TraceCheckUtils]: 20: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,872 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14683#true} {14683#true} #80#return; {14683#true} is VALID [2022-04-08 04:28:42,872 INFO L272 TraceCheckUtils]: 22: Hoare triple {14683#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14683#true} is VALID [2022-04-08 04:28:42,872 INFO L290 TraceCheckUtils]: 23: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:42,872 INFO L290 TraceCheckUtils]: 24: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:42,872 INFO L290 TraceCheckUtils]: 25: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,872 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14683#true} {14683#true} #82#return; {14683#true} is VALID [2022-04-08 04:28:42,872 INFO L290 TraceCheckUtils]: 27: Hoare triple {14683#true} assume !false; {14683#true} is VALID [2022-04-08 04:28:42,873 INFO L290 TraceCheckUtils]: 28: Hoare triple {14683#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 04:28:42,873 INFO L290 TraceCheckUtils]: 29: Hoare triple {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} assume !false; {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 04:28:42,874 INFO L272 TraceCheckUtils]: 30: Hoare triple {14772#(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)); {14683#true} is VALID [2022-04-08 04:28:42,874 INFO L290 TraceCheckUtils]: 31: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:42,874 INFO L290 TraceCheckUtils]: 32: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:42,874 INFO L290 TraceCheckUtils]: 33: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,874 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {14683#true} {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} #84#return; {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 04:28:42,874 INFO L272 TraceCheckUtils]: 35: Hoare triple {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14683#true} is VALID [2022-04-08 04:28:42,874 INFO L290 TraceCheckUtils]: 36: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:42,874 INFO L290 TraceCheckUtils]: 37: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:42,874 INFO L290 TraceCheckUtils]: 38: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,875 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {14683#true} {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} #86#return; {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 04:28:42,875 INFO L272 TraceCheckUtils]: 40: Hoare triple {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14683#true} is VALID [2022-04-08 04:28:42,875 INFO L290 TraceCheckUtils]: 41: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:42,875 INFO L290 TraceCheckUtils]: 42: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:42,875 INFO L290 TraceCheckUtils]: 43: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,875 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {14683#true} {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} #88#return; {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 04:28:42,875 INFO L272 TraceCheckUtils]: 45: Hoare triple {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~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)); {14683#true} is VALID [2022-04-08 04:28:42,875 INFO L290 TraceCheckUtils]: 46: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:42,875 INFO L290 TraceCheckUtils]: 47: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:42,875 INFO L290 TraceCheckUtils]: 48: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,876 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {14683#true} {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} #90#return; {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 04:28:42,876 INFO L290 TraceCheckUtils]: 50: Hoare triple {14772#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 04:28:42,876 INFO L290 TraceCheckUtils]: 51: Hoare triple {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} assume !false; {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 04:28:42,877 INFO L272 TraceCheckUtils]: 52: Hoare triple {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) 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)); {14683#true} is VALID [2022-04-08 04:28:42,877 INFO L290 TraceCheckUtils]: 53: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:42,877 INFO L290 TraceCheckUtils]: 54: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:42,877 INFO L290 TraceCheckUtils]: 55: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,877 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14683#true} {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} #84#return; {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 04:28:42,877 INFO L272 TraceCheckUtils]: 57: Hoare triple {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14683#true} is VALID [2022-04-08 04:28:42,877 INFO L290 TraceCheckUtils]: 58: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:42,877 INFO L290 TraceCheckUtils]: 59: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:42,877 INFO L290 TraceCheckUtils]: 60: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,878 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14683#true} {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} #86#return; {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 04:28:42,878 INFO L272 TraceCheckUtils]: 62: Hoare triple {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14683#true} is VALID [2022-04-08 04:28:42,878 INFO L290 TraceCheckUtils]: 63: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:42,878 INFO L290 TraceCheckUtils]: 64: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:42,878 INFO L290 TraceCheckUtils]: 65: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,878 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {14683#true} {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} #88#return; {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 04:28:42,878 INFO L272 TraceCheckUtils]: 67: Hoare triple {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~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)); {14683#true} is VALID [2022-04-08 04:28:42,878 INFO L290 TraceCheckUtils]: 68: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:42,878 INFO L290 TraceCheckUtils]: 69: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:42,879 INFO L290 TraceCheckUtils]: 70: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,879 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {14683#true} {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} #90#return; {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 04:28:42,880 INFO L290 TraceCheckUtils]: 72: Hoare triple {14839#(and (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (not (= main_~b~0 0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} is VALID [2022-04-08 04:28:42,880 INFO L290 TraceCheckUtils]: 73: Hoare triple {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} assume !false; {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} is VALID [2022-04-08 04:28:42,880 INFO L272 TraceCheckUtils]: 74: Hoare triple {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14683#true} is VALID [2022-04-08 04:28:42,880 INFO L290 TraceCheckUtils]: 75: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:42,880 INFO L290 TraceCheckUtils]: 76: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:42,880 INFO L290 TraceCheckUtils]: 77: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,881 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {14683#true} {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} #84#return; {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} is VALID [2022-04-08 04:28:42,881 INFO L272 TraceCheckUtils]: 79: Hoare triple {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14683#true} is VALID [2022-04-08 04:28:42,881 INFO L290 TraceCheckUtils]: 80: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:42,881 INFO L290 TraceCheckUtils]: 81: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:42,881 INFO L290 TraceCheckUtils]: 82: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,881 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {14683#true} {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} #86#return; {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} is VALID [2022-04-08 04:28:42,881 INFO L272 TraceCheckUtils]: 84: Hoare triple {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14683#true} is VALID [2022-04-08 04:28:42,881 INFO L290 TraceCheckUtils]: 85: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:42,881 INFO L290 TraceCheckUtils]: 86: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:42,882 INFO L290 TraceCheckUtils]: 87: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,882 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {14683#true} {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} #88#return; {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} is VALID [2022-04-08 04:28:42,882 INFO L272 TraceCheckUtils]: 89: Hoare triple {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) 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)); {14683#true} is VALID [2022-04-08 04:28:42,882 INFO L290 TraceCheckUtils]: 90: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:42,882 INFO L290 TraceCheckUtils]: 91: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:42,882 INFO L290 TraceCheckUtils]: 92: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:42,882 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {14683#true} {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} #90#return; {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} is VALID [2022-04-08 04:28:42,883 INFO L290 TraceCheckUtils]: 94: Hoare triple {14906#(and (not (= main_~b~0 0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ main_~c~0 main_~b~0)) (= (+ (- 2) main_~k~0) 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14973#(and (= main_~k~0 3) (not (= main_~b~0 0)) (= main_~c~0 (+ (* main_~b~0 (- 3)) main_~a~0)))} is VALID [2022-04-08 04:28:42,883 INFO L290 TraceCheckUtils]: 95: Hoare triple {14973#(and (= main_~k~0 3) (not (= main_~b~0 0)) (= main_~c~0 (+ (* main_~b~0 (- 3)) main_~a~0)))} assume !false; {14973#(and (= main_~k~0 3) (not (= main_~b~0 0)) (= main_~c~0 (+ (* main_~b~0 (- 3)) main_~a~0)))} is VALID [2022-04-08 04:28:42,884 INFO L272 TraceCheckUtils]: 96: Hoare triple {14973#(and (= main_~k~0 3) (not (= main_~b~0 0)) (= main_~c~0 (+ (* main_~b~0 (- 3)) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14980#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:28:42,884 INFO L290 TraceCheckUtils]: 97: Hoare triple {14980#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14984#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:42,885 INFO L290 TraceCheckUtils]: 98: Hoare triple {14984#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14684#false} is VALID [2022-04-08 04:28:42,885 INFO L290 TraceCheckUtils]: 99: Hoare triple {14684#false} assume !false; {14684#false} is VALID [2022-04-08 04:28:42,885 INFO L134 CoverageAnalysis]: Checked inductivity of 336 backedges. 24 proven. 24 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-08 04:28:42,885 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:28:43,180 INFO L290 TraceCheckUtils]: 99: Hoare triple {14684#false} assume !false; {14684#false} is VALID [2022-04-08 04:28:43,180 INFO L290 TraceCheckUtils]: 98: Hoare triple {14984#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14684#false} is VALID [2022-04-08 04:28:43,181 INFO L290 TraceCheckUtils]: 97: Hoare triple {14980#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14984#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:43,181 INFO L272 TraceCheckUtils]: 96: Hoare triple {15000#(= 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)); {14980#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:28:43,182 INFO L290 TraceCheckUtils]: 95: Hoare triple {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,183 INFO L290 TraceCheckUtils]: 94: Hoare triple {15000#(= 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; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,184 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,184 INFO L290 TraceCheckUtils]: 92: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,184 INFO L290 TraceCheckUtils]: 91: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:43,184 INFO L290 TraceCheckUtils]: 90: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:43,184 INFO L272 TraceCheckUtils]: 89: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-08 04:28:43,185 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,185 INFO L290 TraceCheckUtils]: 87: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,185 INFO L290 TraceCheckUtils]: 86: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:43,185 INFO L290 TraceCheckUtils]: 85: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:43,185 INFO L272 TraceCheckUtils]: 84: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-08 04:28:43,186 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #86#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,186 INFO L290 TraceCheckUtils]: 82: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,186 INFO L290 TraceCheckUtils]: 81: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:43,186 INFO L290 TraceCheckUtils]: 80: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:43,186 INFO L272 TraceCheckUtils]: 79: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-08 04:28:43,186 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #84#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,186 INFO L290 TraceCheckUtils]: 77: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,186 INFO L290 TraceCheckUtils]: 76: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:43,186 INFO L290 TraceCheckUtils]: 75: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:43,186 INFO L272 TraceCheckUtils]: 74: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-08 04:28:43,187 INFO L290 TraceCheckUtils]: 73: Hoare triple {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,188 INFO L290 TraceCheckUtils]: 72: Hoare triple {15000#(= 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; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,189 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,189 INFO L290 TraceCheckUtils]: 70: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,189 INFO L290 TraceCheckUtils]: 69: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:43,189 INFO L290 TraceCheckUtils]: 68: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:43,189 INFO L272 TraceCheckUtils]: 67: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-08 04:28:43,189 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,190 INFO L290 TraceCheckUtils]: 65: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,190 INFO L290 TraceCheckUtils]: 64: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:43,190 INFO L290 TraceCheckUtils]: 63: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:43,190 INFO L272 TraceCheckUtils]: 62: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-08 04:28:43,190 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #86#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,190 INFO L290 TraceCheckUtils]: 60: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,190 INFO L290 TraceCheckUtils]: 59: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:43,190 INFO L290 TraceCheckUtils]: 58: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:43,191 INFO L272 TraceCheckUtils]: 57: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-08 04:28:43,191 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #84#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,191 INFO L290 TraceCheckUtils]: 55: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,191 INFO L290 TraceCheckUtils]: 54: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:43,191 INFO L290 TraceCheckUtils]: 53: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:43,191 INFO L272 TraceCheckUtils]: 52: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-08 04:28:43,192 INFO L290 TraceCheckUtils]: 51: Hoare triple {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,193 INFO L290 TraceCheckUtils]: 50: Hoare triple {15000#(= 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; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,194 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #90#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,194 INFO L290 TraceCheckUtils]: 48: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,194 INFO L290 TraceCheckUtils]: 47: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:43,194 INFO L290 TraceCheckUtils]: 46: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:43,194 INFO L272 TraceCheckUtils]: 45: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-08 04:28:43,195 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #88#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,195 INFO L290 TraceCheckUtils]: 43: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,195 INFO L290 TraceCheckUtils]: 42: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:43,195 INFO L290 TraceCheckUtils]: 41: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:43,195 INFO L272 TraceCheckUtils]: 40: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-08 04:28:43,195 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #86#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,196 INFO L290 TraceCheckUtils]: 38: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,196 INFO L290 TraceCheckUtils]: 37: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:43,196 INFO L290 TraceCheckUtils]: 36: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:43,196 INFO L272 TraceCheckUtils]: 35: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-08 04:28:43,196 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {14683#true} {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #84#return; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,196 INFO L290 TraceCheckUtils]: 33: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,196 INFO L290 TraceCheckUtils]: 32: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:43,196 INFO L290 TraceCheckUtils]: 31: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:43,196 INFO L272 TraceCheckUtils]: 30: Hoare triple {15000#(= 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)); {14683#true} is VALID [2022-04-08 04:28:43,197 INFO L290 TraceCheckUtils]: 29: Hoare triple {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,197 INFO L290 TraceCheckUtils]: 28: Hoare triple {14683#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {15000#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 04:28:43,197 INFO L290 TraceCheckUtils]: 27: Hoare triple {14683#true} assume !false; {14683#true} is VALID [2022-04-08 04:28:43,197 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14683#true} {14683#true} #82#return; {14683#true} is VALID [2022-04-08 04:28:43,197 INFO L290 TraceCheckUtils]: 25: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,197 INFO L290 TraceCheckUtils]: 24: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:43,197 INFO L290 TraceCheckUtils]: 23: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:43,197 INFO L272 TraceCheckUtils]: 22: Hoare triple {14683#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14683#true} is VALID [2022-04-08 04:28:43,197 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14683#true} {14683#true} #80#return; {14683#true} is VALID [2022-04-08 04:28:43,197 INFO L290 TraceCheckUtils]: 20: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,197 INFO L290 TraceCheckUtils]: 19: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L290 TraceCheckUtils]: 18: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L272 TraceCheckUtils]: 17: Hoare triple {14683#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L290 TraceCheckUtils]: 16: Hoare triple {14683#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; {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14683#true} {14683#true} #78#return; {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L290 TraceCheckUtils]: 14: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L290 TraceCheckUtils]: 13: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L290 TraceCheckUtils]: 12: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L272 TraceCheckUtils]: 11: Hoare triple {14683#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14683#true} {14683#true} #76#return; {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L290 TraceCheckUtils]: 9: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L290 TraceCheckUtils]: 8: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L290 TraceCheckUtils]: 7: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L272 TraceCheckUtils]: 6: Hoare triple {14683#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L290 TraceCheckUtils]: 5: Hoare triple {14683#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; {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L272 TraceCheckUtils]: 4: Hoare triple {14683#true} call #t~ret6 := main(); {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14683#true} {14683#true} #96#return; {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L290 TraceCheckUtils]: 2: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 04:28:43,198 INFO L290 TraceCheckUtils]: 1: Hoare triple {14683#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); {14683#true} is VALID [2022-04-08 04:28:43,199 INFO L272 TraceCheckUtils]: 0: Hoare triple {14683#true} call ULTIMATE.init(); {14683#true} is VALID [2022-04-08 04:28:43,199 INFO L134 CoverageAnalysis]: Checked inductivity of 336 backedges. 24 proven. 0 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 04:28:43,199 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:28:43,199 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1616174444] [2022-04-08 04:28:43,199 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:28:43,199 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [448510549] [2022-04-08 04:28:43,199 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [448510549] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 04:28:43,199 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 04:28:43,199 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-08 04:28:43,199 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:28:43,199 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [12846826] [2022-04-08 04:28:43,200 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [12846826] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:28:43,200 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:28:43,200 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:28:43,200 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1132954916] [2022-04-08 04:28:43,200 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:28:43,200 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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 100 [2022-04-08 04:28:43,200 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:28:43,200 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-08 04:28:43,227 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:43,227 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:28:43,227 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:43,227 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:28:43,227 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-08 04:28:43,227 INFO L87 Difference]: Start difference. First operand 178 states and 223 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-08 04:28:43,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:43,551 INFO L93 Difference]: Finished difference Result 184 states and 228 transitions. [2022-04-08 04:28:43,551 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:28:43,551 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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 100 [2022-04-08 04:28:43,551 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:28:43,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-08 04:28:43,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2022-04-08 04:28:43,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-08 04:28:43,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2022-04-08 04:28:43,552 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2022-04-08 04:28:43,575 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-08 04:28:43,577 INFO L225 Difference]: With dead ends: 184 [2022-04-08 04:28:43,577 INFO L226 Difference]: Without dead ends: 182 [2022-04-08 04:28:43,578 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 200 GetRequests, 188 SyntacticMatches, 4 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-08 04:28:43,578 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 6 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 117 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-08 04:28:43,578 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 117 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:28:43,579 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-08 04:28:43,764 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 182. [2022-04-08 04:28:43,764 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:28:43,765 INFO L82 GeneralOperation]: Start isEquivalent. First operand 182 states. Second operand has 182 states, 103 states have (on average 1.0970873786407767) internal successors, (113), 110 states have internal predecessors, (113), 58 states have call successors, (58), 21 states have call predecessors, (58), 20 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:28:43,765 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand has 182 states, 103 states have (on average 1.0970873786407767) internal successors, (113), 110 states have internal predecessors, (113), 58 states have call successors, (58), 21 states have call predecessors, (58), 20 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:28:43,765 INFO L87 Difference]: Start difference. First operand 182 states. Second operand has 182 states, 103 states have (on average 1.0970873786407767) internal successors, (113), 110 states have internal predecessors, (113), 58 states have call successors, (58), 21 states have call predecessors, (58), 20 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:28:43,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:43,768 INFO L93 Difference]: Finished difference Result 182 states and 226 transitions. [2022-04-08 04:28:43,768 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 226 transitions. [2022-04-08 04:28:43,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:43,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:43,769 INFO L74 IsIncluded]: Start isIncluded. First operand has 182 states, 103 states have (on average 1.0970873786407767) internal successors, (113), 110 states have internal predecessors, (113), 58 states have call successors, (58), 21 states have call predecessors, (58), 20 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 182 states. [2022-04-08 04:28:43,769 INFO L87 Difference]: Start difference. First operand has 182 states, 103 states have (on average 1.0970873786407767) internal successors, (113), 110 states have internal predecessors, (113), 58 states have call successors, (58), 21 states have call predecessors, (58), 20 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 182 states. [2022-04-08 04:28:43,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:43,772 INFO L93 Difference]: Finished difference Result 182 states and 226 transitions. [2022-04-08 04:28:43,772 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 226 transitions. [2022-04-08 04:28:43,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:43,773 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:43,773 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:28:43,773 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:28:43,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 182 states, 103 states have (on average 1.0970873786407767) internal successors, (113), 110 states have internal predecessors, (113), 58 states have call successors, (58), 21 states have call predecessors, (58), 20 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:28:43,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 226 transitions. [2022-04-08 04:28:43,776 INFO L78 Accepts]: Start accepts. Automaton has 182 states and 226 transitions. Word has length 100 [2022-04-08 04:28:43,776 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:28:43,776 INFO L478 AbstractCegarLoop]: Abstraction has 182 states and 226 transitions. [2022-04-08 04:28:43,776 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-08 04:28:43,776 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 182 states and 226 transitions. [2022-04-08 04:28:44,200 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 226 edges. 226 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:44,200 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 226 transitions. [2022-04-08 04:28:44,201 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-08 04:28:44,201 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:28:44,201 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 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] [2022-04-08 04:28:44,236 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-08 04:28:44,401 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-08 04:28:44,401 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:28:44,402 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:28:44,402 INFO L85 PathProgramCache]: Analyzing trace with hash 1068463892, now seen corresponding path program 3 times [2022-04-08 04:28:44,402 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:44,402 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [615328199] [2022-04-08 04:28:44,402 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:28:44,402 INFO L85 PathProgramCache]: Analyzing trace with hash 1068463892, now seen corresponding path program 4 times [2022-04-08 04:28:44,402 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:28:44,402 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1312908037] [2022-04-08 04:28:44,402 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:28:44,403 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:28:44,414 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:28:44,414 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [516225035] [2022-04-08 04:28:44,414 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:28:44,414 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:28:44,414 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:28:44,424 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-08 04:28:44,468 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-08 04:28:44,498 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:28:44,498 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:28:44,499 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-08 04:28:44,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:28:44,514 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:28:49,946 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:28:50,755 INFO L272 TraceCheckUtils]: 0: Hoare triple {16389#true} call ULTIMATE.init(); {16389#true} is VALID [2022-04-08 04:28:50,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {16389#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); {16389#true} is VALID [2022-04-08 04:28:50,755 INFO L290 TraceCheckUtils]: 2: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 04:28:50,755 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16389#true} {16389#true} #96#return; {16389#true} is VALID [2022-04-08 04:28:50,755 INFO L272 TraceCheckUtils]: 4: Hoare triple {16389#true} call #t~ret6 := main(); {16389#true} is VALID [2022-04-08 04:28:50,755 INFO L290 TraceCheckUtils]: 5: Hoare triple {16389#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; {16389#true} is VALID [2022-04-08 04:28:50,756 INFO L272 TraceCheckUtils]: 6: Hoare triple {16389#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16389#true} is VALID [2022-04-08 04:28:50,756 INFO L290 TraceCheckUtils]: 7: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 04:28:50,756 INFO L290 TraceCheckUtils]: 8: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 04:28:50,756 INFO L290 TraceCheckUtils]: 9: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 04:28:50,756 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16389#true} {16389#true} #76#return; {16389#true} is VALID [2022-04-08 04:28:50,756 INFO L272 TraceCheckUtils]: 11: Hoare triple {16389#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16389#true} is VALID [2022-04-08 04:28:50,756 INFO L290 TraceCheckUtils]: 12: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 04:28:50,756 INFO L290 TraceCheckUtils]: 13: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 04:28:50,756 INFO L290 TraceCheckUtils]: 14: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 04:28:50,756 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16389#true} {16389#true} #78#return; {16389#true} is VALID [2022-04-08 04:28:50,756 INFO L290 TraceCheckUtils]: 16: Hoare triple {16389#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; {16442#(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-08 04:28:50,757 INFO L272 TraceCheckUtils]: 17: Hoare triple {16442#(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)); {16389#true} is VALID [2022-04-08 04:28:50,757 INFO L290 TraceCheckUtils]: 18: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 04:28:50,757 INFO L290 TraceCheckUtils]: 19: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 04:28:50,757 INFO L290 TraceCheckUtils]: 20: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 04:28:50,757 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16389#true} {16442#(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))} #80#return; {16442#(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-08 04:28:50,757 INFO L272 TraceCheckUtils]: 22: Hoare triple {16442#(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)); {16389#true} is VALID [2022-04-08 04:28:50,757 INFO L290 TraceCheckUtils]: 23: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 04:28:50,758 INFO L290 TraceCheckUtils]: 24: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 04:28:50,758 INFO L290 TraceCheckUtils]: 25: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 04:28:50,758 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16389#true} {16442#(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; {16442#(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-08 04:28:50,759 INFO L290 TraceCheckUtils]: 27: Hoare triple {16442#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {16442#(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-08 04:28:50,759 INFO L290 TraceCheckUtils]: 28: Hoare triple {16442#(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; {16479#(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-08 04:28:50,759 INFO L290 TraceCheckUtils]: 29: Hoare triple {16479#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {16479#(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-08 04:28:50,759 INFO L272 TraceCheckUtils]: 30: Hoare triple {16479#(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)); {16389#true} is VALID [2022-04-08 04:28:50,760 INFO L290 TraceCheckUtils]: 31: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 04:28:50,760 INFO L290 TraceCheckUtils]: 32: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 04:28:50,760 INFO L290 TraceCheckUtils]: 33: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 04:28:50,760 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {16389#true} {16479#(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))} #84#return; {16479#(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-08 04:28:50,760 INFO L272 TraceCheckUtils]: 35: Hoare triple {16479#(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)); {16389#true} is VALID [2022-04-08 04:28:50,760 INFO L290 TraceCheckUtils]: 36: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 04:28:50,760 INFO L290 TraceCheckUtils]: 37: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 04:28:50,761 INFO L290 TraceCheckUtils]: 38: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 04:28:50,761 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {16389#true} {16479#(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; {16479#(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-08 04:28:50,761 INFO L272 TraceCheckUtils]: 40: Hoare triple {16479#(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)); {16389#true} is VALID [2022-04-08 04:28:50,761 INFO L290 TraceCheckUtils]: 41: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 04:28:50,761 INFO L290 TraceCheckUtils]: 42: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 04:28:50,761 INFO L290 TraceCheckUtils]: 43: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 04:28:50,762 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {16389#true} {16479#(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; {16479#(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-08 04:28:50,762 INFO L272 TraceCheckUtils]: 45: Hoare triple {16479#(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)); {16389#true} is VALID [2022-04-08 04:28:50,762 INFO L290 TraceCheckUtils]: 46: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 04:28:50,762 INFO L290 TraceCheckUtils]: 47: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 04:28:50,762 INFO L290 TraceCheckUtils]: 48: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 04:28:50,763 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {16389#true} {16479#(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; {16479#(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-08 04:28:50,764 INFO L290 TraceCheckUtils]: 50: Hoare triple {16479#(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; {16546#(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-08 04:28:50,764 INFO L290 TraceCheckUtils]: 51: Hoare triple {16546#(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 !false; {16546#(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-08 04:28:50,764 INFO L272 TraceCheckUtils]: 52: Hoare triple {16546#(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)); {16389#true} is VALID [2022-04-08 04:28:50,764 INFO L290 TraceCheckUtils]: 53: Hoare triple {16389#true} ~cond := #in~cond; {16556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:50,765 INFO L290 TraceCheckUtils]: 54: Hoare triple {16556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:28:50,765 INFO L290 TraceCheckUtils]: 55: Hoare triple {16560#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:28:50,766 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {16560#(not (= |__VERIFIER_assert_#in~cond| 0))} {16546#(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))} #84#return; {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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-08 04:28:50,766 INFO L272 TraceCheckUtils]: 57: Hoare triple {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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)); {16389#true} is VALID [2022-04-08 04:28:50,766 INFO L290 TraceCheckUtils]: 58: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 04:28:50,766 INFO L290 TraceCheckUtils]: 59: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 04:28:50,766 INFO L290 TraceCheckUtils]: 60: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 04:28:50,767 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16389#true} {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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; {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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-08 04:28:50,767 INFO L272 TraceCheckUtils]: 62: Hoare triple {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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)); {16389#true} is VALID [2022-04-08 04:28:50,767 INFO L290 TraceCheckUtils]: 63: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 04:28:50,767 INFO L290 TraceCheckUtils]: 64: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 04:28:50,767 INFO L290 TraceCheckUtils]: 65: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 04:28:50,768 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16389#true} {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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; {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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-08 04:28:50,768 INFO L272 TraceCheckUtils]: 67: Hoare triple {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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)); {16389#true} is VALID [2022-04-08 04:28:50,768 INFO L290 TraceCheckUtils]: 68: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 04:28:50,768 INFO L290 TraceCheckUtils]: 69: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 04:28:50,768 INFO L290 TraceCheckUtils]: 70: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 04:28:50,769 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16389#true} {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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; {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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-08 04:28:50,770 INFO L290 TraceCheckUtils]: 72: Hoare triple {16567#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~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; {16616#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:50,770 INFO L290 TraceCheckUtils]: 73: Hoare triple {16616#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {16616#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:28:50,770 INFO L272 TraceCheckUtils]: 74: Hoare triple {16616#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~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)); {16389#true} is VALID [2022-04-08 04:28:50,770 INFO L290 TraceCheckUtils]: 75: Hoare triple {16389#true} ~cond := #in~cond; {16556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:50,771 INFO L290 TraceCheckUtils]: 76: Hoare triple {16556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:28:50,771 INFO L290 TraceCheckUtils]: 77: Hoare triple {16560#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:28:50,772 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {16560#(not (= |__VERIFIER_assert_#in~cond| 0))} {16616#(and (= main_~r~0 0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-08 04:28:50,772 INFO L272 TraceCheckUtils]: 79: Hoare triple {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16389#true} is VALID [2022-04-08 04:28:50,772 INFO L290 TraceCheckUtils]: 80: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 04:28:50,773 INFO L290 TraceCheckUtils]: 81: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 04:28:50,773 INFO L290 TraceCheckUtils]: 82: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 04:28:50,773 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {16389#true} {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} #86#return; {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-08 04:28:50,773 INFO L272 TraceCheckUtils]: 84: Hoare triple {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16389#true} is VALID [2022-04-08 04:28:50,773 INFO L290 TraceCheckUtils]: 85: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 04:28:50,773 INFO L290 TraceCheckUtils]: 86: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 04:28:50,773 INFO L290 TraceCheckUtils]: 87: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 04:28:50,774 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {16389#true} {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} #88#return; {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-08 04:28:50,774 INFO L272 TraceCheckUtils]: 89: Hoare triple {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~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)); {16389#true} is VALID [2022-04-08 04:28:50,774 INFO L290 TraceCheckUtils]: 90: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 04:28:50,774 INFO L290 TraceCheckUtils]: 91: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 04:28:50,774 INFO L290 TraceCheckUtils]: 92: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 04:28:50,775 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {16389#true} {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} #90#return; {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-08 04:28:50,776 INFO L290 TraceCheckUtils]: 94: Hoare triple {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-08 04:28:50,777 INFO L290 TraceCheckUtils]: 95: Hoare triple {16635#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~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; {16687#(and (= (+ main_~x~0 (* main_~y~0 2) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) main_~x~0 (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (<= (+ main_~s~0 2) 0) (= main_~q~0 1))} is VALID [2022-04-08 04:28:50,778 INFO L290 TraceCheckUtils]: 96: Hoare triple {16687#(and (= (+ main_~x~0 (* main_~y~0 2) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) main_~x~0 (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (<= (+ main_~s~0 2) 0) (= main_~q~0 1))} assume !false; {16687#(and (= (+ main_~x~0 (* main_~y~0 2) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) main_~x~0 (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (<= (+ main_~s~0 2) 0) (= main_~q~0 1))} is VALID [2022-04-08 04:28:50,778 INFO L290 TraceCheckUtils]: 97: Hoare triple {16687#(and (= (+ main_~x~0 (* main_~y~0 2) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) main_~x~0 (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (<= (+ main_~s~0 2) 0) (= main_~q~0 1))} assume !(0 != ~b~0); {16694#(and (= (+ main_~x~0 (* main_~y~0 2) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) main_~x~0 (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (<= (+ main_~s~0 2) 0) (= main_~q~0 1))} is VALID [2022-04-08 04:28:50,779 INFO L272 TraceCheckUtils]: 98: Hoare triple {16694#(and (= (+ main_~x~0 (* main_~y~0 2) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) main_~x~0 (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (<= (+ main_~s~0 2) 0) (= main_~q~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {16698#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:28:50,779 INFO L290 TraceCheckUtils]: 99: Hoare triple {16698#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16702#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:50,779 INFO L290 TraceCheckUtils]: 100: Hoare triple {16702#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16390#false} is VALID [2022-04-08 04:28:50,779 INFO L290 TraceCheckUtils]: 101: Hoare triple {16390#false} assume !false; {16390#false} is VALID [2022-04-08 04:28:50,780 INFO L134 CoverageAnalysis]: Checked inductivity of 332 backedges. 55 proven. 49 refuted. 0 times theorem prover too weak. 228 trivial. 0 not checked. [2022-04-08 04:28:50,780 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:30:02,506 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:30:04,915 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:30:07,133 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:30:07,133 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1312908037] [2022-04-08 04:30:07,133 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:30:07,133 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [516225035] [2022-04-08 04:30:07,133 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [516225035] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 04:30:07,133 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 04:30:07,133 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14] total 14 [2022-04-08 04:30:07,133 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:30:07,133 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [615328199] [2022-04-08 04:30:07,133 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [615328199] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:30:07,134 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:30:07,134 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 04:30:07,134 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [884043303] [2022-04-08 04:30:07,134 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:30:07,134 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 7 states have call successors, (17) Word has length 102 [2022-04-08 04:30:07,134 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:30:07,134 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 04:30:07,199 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:30:07,199 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 04:30:07,199 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:30:07,200 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 04:30:07,200 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=308, Unknown=1, NotChecked=0, Total=380 [2022-04-08 04:30:07,200 INFO L87 Difference]: Start difference. First operand 182 states and 226 transitions. Second operand has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 04:30:09,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:30:09,726 INFO L93 Difference]: Finished difference Result 211 states and 269 transitions. [2022-04-08 04:30:09,726 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 04:30:09,726 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 7 states have call successors, (17) Word has length 102 [2022-04-08 04:30:09,727 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:30:09,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 04:30:09,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2022-04-08 04:30:09,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 04:30:09,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2022-04-08 04:30:09,729 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 112 transitions. [2022-04-08 04:30:09,862 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-08 04:30:09,866 INFO L225 Difference]: With dead ends: 211 [2022-04-08 04:30:09,866 INFO L226 Difference]: Without dead ends: 208 [2022-04-08 04:30:09,866 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 108 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=99, Invalid=452, Unknown=1, NotChecked=0, Total=552 [2022-04-08 04:30:09,867 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 30 mSDsluCounter, 211 mSDsCounter, 0 mSdLazyCounter, 632 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 257 SdHoareTripleChecker+Invalid, 670 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 632 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-08 04:30:09,867 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [38 Valid, 257 Invalid, 670 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 632 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-08 04:30:09,867 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-04-08 04:30:10,229 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 207. [2022-04-08 04:30:10,230 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:30:10,230 INFO L82 GeneralOperation]: Start isEquivalent. First operand 208 states. Second operand has 207 states, 115 states have (on average 1.1043478260869566) internal successors, (127), 122 states have internal predecessors, (127), 70 states have call successors, (70), 22 states have call predecessors, (70), 21 states have return successors, (67), 62 states have call predecessors, (67), 67 states have call successors, (67) [2022-04-08 04:30:10,230 INFO L74 IsIncluded]: Start isIncluded. First operand 208 states. Second operand has 207 states, 115 states have (on average 1.1043478260869566) internal successors, (127), 122 states have internal predecessors, (127), 70 states have call successors, (70), 22 states have call predecessors, (70), 21 states have return successors, (67), 62 states have call predecessors, (67), 67 states have call successors, (67) [2022-04-08 04:30:10,230 INFO L87 Difference]: Start difference. First operand 208 states. Second operand has 207 states, 115 states have (on average 1.1043478260869566) internal successors, (127), 122 states have internal predecessors, (127), 70 states have call successors, (70), 22 states have call predecessors, (70), 21 states have return successors, (67), 62 states have call predecessors, (67), 67 states have call successors, (67) [2022-04-08 04:30:10,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:30:10,239 INFO L93 Difference]: Finished difference Result 208 states and 265 transitions. [2022-04-08 04:30:10,239 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 265 transitions. [2022-04-08 04:30:10,240 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:30:10,240 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:30:10,240 INFO L74 IsIncluded]: Start isIncluded. First operand has 207 states, 115 states have (on average 1.1043478260869566) internal successors, (127), 122 states have internal predecessors, (127), 70 states have call successors, (70), 22 states have call predecessors, (70), 21 states have return successors, (67), 62 states have call predecessors, (67), 67 states have call successors, (67) Second operand 208 states. [2022-04-08 04:30:10,240 INFO L87 Difference]: Start difference. First operand has 207 states, 115 states have (on average 1.1043478260869566) internal successors, (127), 122 states have internal predecessors, (127), 70 states have call successors, (70), 22 states have call predecessors, (70), 21 states have return successors, (67), 62 states have call predecessors, (67), 67 states have call successors, (67) Second operand 208 states. [2022-04-08 04:30:10,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:30:10,246 INFO L93 Difference]: Finished difference Result 208 states and 265 transitions. [2022-04-08 04:30:10,246 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 265 transitions. [2022-04-08 04:30:10,247 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:30:10,247 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:30:10,247 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:30:10,247 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:30:10,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 207 states, 115 states have (on average 1.1043478260869566) internal successors, (127), 122 states have internal predecessors, (127), 70 states have call successors, (70), 22 states have call predecessors, (70), 21 states have return successors, (67), 62 states have call predecessors, (67), 67 states have call successors, (67) [2022-04-08 04:30:10,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 207 states to 207 states and 264 transitions. [2022-04-08 04:30:10,251 INFO L78 Accepts]: Start accepts. Automaton has 207 states and 264 transitions. Word has length 102 [2022-04-08 04:30:10,251 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:30:10,251 INFO L478 AbstractCegarLoop]: Abstraction has 207 states and 264 transitions. [2022-04-08 04:30:10,251 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.076923076923077) internal successors, (27), 12 states have internal predecessors, (27), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 04:30:10,251 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 207 states and 264 transitions. [2022-04-08 04:30:10,670 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 264 edges. 264 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:30:10,670 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 264 transitions. [2022-04-08 04:30:10,671 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-08 04:30:10,671 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:30:10,671 INFO L499 BasicCegarLoop]: 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] [2022-04-08 04:30:10,688 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-08 04:30:10,871 WARN L460 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-08 04:30:10,872 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:30:10,872 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:30:10,872 INFO L85 PathProgramCache]: Analyzing trace with hash 351496396, now seen corresponding path program 5 times [2022-04-08 04:30:10,872 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:30:10,872 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1760235350] [2022-04-08 04:30:10,873 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:30:10,873 INFO L85 PathProgramCache]: Analyzing trace with hash 351496396, now seen corresponding path program 6 times [2022-04-08 04:30:10,873 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:30:10,873 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [295015110] [2022-04-08 04:30:10,873 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:30:10,873 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:30:10,882 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:30:10,882 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [125035846] [2022-04-08 04:30:10,882 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:30:10,882 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:30:10,882 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:30:10,883 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-08 04:30:10,884 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-08 04:30:10,943 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 04:30:10,943 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:30:10,944 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 04:30:10,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:30:10,960 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:30:11,242 INFO L272 TraceCheckUtils]: 0: Hoare triple {18067#true} call ULTIMATE.init(); {18067#true} is VALID [2022-04-08 04:30:11,242 INFO L290 TraceCheckUtils]: 1: Hoare triple {18067#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); {18067#true} is VALID [2022-04-08 04:30:11,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,242 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18067#true} {18067#true} #96#return; {18067#true} is VALID [2022-04-08 04:30:11,242 INFO L272 TraceCheckUtils]: 4: Hoare triple {18067#true} call #t~ret6 := main(); {18067#true} is VALID [2022-04-08 04:30:11,242 INFO L290 TraceCheckUtils]: 5: Hoare triple {18067#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; {18067#true} is VALID [2022-04-08 04:30:11,242 INFO L272 TraceCheckUtils]: 6: Hoare triple {18067#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L290 TraceCheckUtils]: 7: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L290 TraceCheckUtils]: 8: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L290 TraceCheckUtils]: 9: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18067#true} {18067#true} #76#return; {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L272 TraceCheckUtils]: 11: Hoare triple {18067#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L290 TraceCheckUtils]: 12: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L290 TraceCheckUtils]: 13: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L290 TraceCheckUtils]: 14: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18067#true} {18067#true} #78#return; {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L290 TraceCheckUtils]: 16: Hoare triple {18067#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; {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L272 TraceCheckUtils]: 17: Hoare triple {18067#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L290 TraceCheckUtils]: 18: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L290 TraceCheckUtils]: 19: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L290 TraceCheckUtils]: 20: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18067#true} {18067#true} #80#return; {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L272 TraceCheckUtils]: 22: Hoare triple {18067#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,243 INFO L290 TraceCheckUtils]: 23: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L290 TraceCheckUtils]: 24: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L290 TraceCheckUtils]: 25: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18067#true} {18067#true} #82#return; {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L290 TraceCheckUtils]: 27: Hoare triple {18067#true} assume !false; {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L290 TraceCheckUtils]: 28: Hoare triple {18067#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L290 TraceCheckUtils]: 29: Hoare triple {18067#true} assume !false; {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L272 TraceCheckUtils]: 30: Hoare triple {18067#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L290 TraceCheckUtils]: 31: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L290 TraceCheckUtils]: 32: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L290 TraceCheckUtils]: 33: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {18067#true} {18067#true} #84#return; {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L272 TraceCheckUtils]: 35: Hoare triple {18067#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L290 TraceCheckUtils]: 36: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L290 TraceCheckUtils]: 37: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L290 TraceCheckUtils]: 38: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {18067#true} {18067#true} #86#return; {18067#true} is VALID [2022-04-08 04:30:11,244 INFO L272 TraceCheckUtils]: 40: Hoare triple {18067#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,245 INFO L290 TraceCheckUtils]: 41: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,245 INFO L290 TraceCheckUtils]: 42: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,245 INFO L290 TraceCheckUtils]: 43: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,245 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {18067#true} {18067#true} #88#return; {18067#true} is VALID [2022-04-08 04:30:11,245 INFO L272 TraceCheckUtils]: 45: Hoare triple {18067#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)); {18067#true} is VALID [2022-04-08 04:30:11,245 INFO L290 TraceCheckUtils]: 46: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,245 INFO L290 TraceCheckUtils]: 47: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,245 INFO L290 TraceCheckUtils]: 48: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,245 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {18067#true} {18067#true} #90#return; {18067#true} is VALID [2022-04-08 04:30:11,245 INFO L290 TraceCheckUtils]: 50: Hoare triple {18067#true} assume !(~c~0 >= ~b~0); {18222#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 04:30:11,246 INFO L290 TraceCheckUtils]: 51: Hoare triple {18222#(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; {18226#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 04:30:11,246 INFO L290 TraceCheckUtils]: 52: Hoare triple {18226#(< main_~b~0 main_~a~0)} assume !false; {18226#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 04:30:11,246 INFO L290 TraceCheckUtils]: 53: Hoare triple {18226#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:30:11,247 INFO L290 TraceCheckUtils]: 54: Hoare triple {18233#(< main_~b~0 main_~c~0)} assume !false; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:30:11,247 INFO L272 TraceCheckUtils]: 55: Hoare triple {18233#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,247 INFO L290 TraceCheckUtils]: 56: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,247 INFO L290 TraceCheckUtils]: 57: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,247 INFO L290 TraceCheckUtils]: 58: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,247 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18067#true} {18233#(< main_~b~0 main_~c~0)} #84#return; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:30:11,247 INFO L272 TraceCheckUtils]: 60: Hoare triple {18233#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,247 INFO L290 TraceCheckUtils]: 61: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,247 INFO L290 TraceCheckUtils]: 62: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,248 INFO L290 TraceCheckUtils]: 63: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,248 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18067#true} {18233#(< main_~b~0 main_~c~0)} #86#return; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:30:11,248 INFO L272 TraceCheckUtils]: 65: Hoare triple {18233#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,248 INFO L290 TraceCheckUtils]: 66: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,248 INFO L290 TraceCheckUtils]: 67: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,248 INFO L290 TraceCheckUtils]: 68: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,249 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18067#true} {18233#(< main_~b~0 main_~c~0)} #88#return; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:30:11,249 INFO L272 TraceCheckUtils]: 70: Hoare triple {18233#(< 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)); {18067#true} is VALID [2022-04-08 04:30:11,249 INFO L290 TraceCheckUtils]: 71: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,249 INFO L290 TraceCheckUtils]: 72: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,249 INFO L290 TraceCheckUtils]: 73: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,250 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {18067#true} {18233#(< main_~b~0 main_~c~0)} #90#return; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:30:11,250 INFO L290 TraceCheckUtils]: 75: Hoare triple {18233#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18300#(< 0 main_~c~0)} is VALID [2022-04-08 04:30:11,251 INFO L290 TraceCheckUtils]: 76: Hoare triple {18300#(< 0 main_~c~0)} assume !false; {18300#(< 0 main_~c~0)} is VALID [2022-04-08 04:30:11,251 INFO L272 TraceCheckUtils]: 77: Hoare triple {18300#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,251 INFO L290 TraceCheckUtils]: 78: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,251 INFO L290 TraceCheckUtils]: 79: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,251 INFO L290 TraceCheckUtils]: 80: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,251 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {18067#true} {18300#(< 0 main_~c~0)} #84#return; {18300#(< 0 main_~c~0)} is VALID [2022-04-08 04:30:11,251 INFO L272 TraceCheckUtils]: 82: Hoare triple {18300#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,252 INFO L290 TraceCheckUtils]: 83: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,252 INFO L290 TraceCheckUtils]: 84: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,252 INFO L290 TraceCheckUtils]: 85: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,252 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18067#true} {18300#(< 0 main_~c~0)} #86#return; {18300#(< 0 main_~c~0)} is VALID [2022-04-08 04:30:11,252 INFO L272 TraceCheckUtils]: 87: Hoare triple {18300#(< 0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,252 INFO L290 TraceCheckUtils]: 88: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,252 INFO L290 TraceCheckUtils]: 89: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,252 INFO L290 TraceCheckUtils]: 90: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,253 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {18067#true} {18300#(< 0 main_~c~0)} #88#return; {18300#(< 0 main_~c~0)} is VALID [2022-04-08 04:30:11,253 INFO L272 TraceCheckUtils]: 92: Hoare triple {18300#(< 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)); {18067#true} is VALID [2022-04-08 04:30:11,253 INFO L290 TraceCheckUtils]: 93: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,253 INFO L290 TraceCheckUtils]: 94: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,253 INFO L290 TraceCheckUtils]: 95: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,254 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {18067#true} {18300#(< 0 main_~c~0)} #90#return; {18300#(< 0 main_~c~0)} is VALID [2022-04-08 04:30:11,254 INFO L290 TraceCheckUtils]: 97: Hoare triple {18300#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {18300#(< 0 main_~c~0)} is VALID [2022-04-08 04:30:11,254 INFO L290 TraceCheckUtils]: 98: Hoare triple {18300#(< 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; {18370#(< 0 main_~b~0)} is VALID [2022-04-08 04:30:11,255 INFO L290 TraceCheckUtils]: 99: Hoare triple {18370#(< 0 main_~b~0)} assume !false; {18370#(< 0 main_~b~0)} is VALID [2022-04-08 04:30:11,255 INFO L290 TraceCheckUtils]: 100: Hoare triple {18370#(< 0 main_~b~0)} assume !(0 != ~b~0); {18068#false} is VALID [2022-04-08 04:30:11,255 INFO L272 TraceCheckUtils]: 101: Hoare triple {18068#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {18068#false} is VALID [2022-04-08 04:30:11,255 INFO L290 TraceCheckUtils]: 102: Hoare triple {18068#false} ~cond := #in~cond; {18068#false} is VALID [2022-04-08 04:30:11,255 INFO L290 TraceCheckUtils]: 103: Hoare triple {18068#false} assume 0 == ~cond; {18068#false} is VALID [2022-04-08 04:30:11,255 INFO L290 TraceCheckUtils]: 104: Hoare triple {18068#false} assume !false; {18068#false} is VALID [2022-04-08 04:30:11,255 INFO L134 CoverageAnalysis]: Checked inductivity of 337 backedges. 40 proven. 9 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-08 04:30:11,255 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:30:11,544 INFO L290 TraceCheckUtils]: 104: Hoare triple {18068#false} assume !false; {18068#false} is VALID [2022-04-08 04:30:11,544 INFO L290 TraceCheckUtils]: 103: Hoare triple {18068#false} assume 0 == ~cond; {18068#false} is VALID [2022-04-08 04:30:11,544 INFO L290 TraceCheckUtils]: 102: Hoare triple {18068#false} ~cond := #in~cond; {18068#false} is VALID [2022-04-08 04:30:11,544 INFO L272 TraceCheckUtils]: 101: Hoare triple {18068#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {18068#false} is VALID [2022-04-08 04:30:11,545 INFO L290 TraceCheckUtils]: 100: Hoare triple {18370#(< 0 main_~b~0)} assume !(0 != ~b~0); {18068#false} is VALID [2022-04-08 04:30:11,545 INFO L290 TraceCheckUtils]: 99: Hoare triple {18370#(< 0 main_~b~0)} assume !false; {18370#(< 0 main_~b~0)} is VALID [2022-04-08 04:30:11,545 INFO L290 TraceCheckUtils]: 98: Hoare triple {18300#(< 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; {18370#(< 0 main_~b~0)} is VALID [2022-04-08 04:30:11,546 INFO L290 TraceCheckUtils]: 97: Hoare triple {18300#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {18300#(< 0 main_~c~0)} is VALID [2022-04-08 04:30:11,546 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {18067#true} {18300#(< 0 main_~c~0)} #90#return; {18300#(< 0 main_~c~0)} is VALID [2022-04-08 04:30:11,546 INFO L290 TraceCheckUtils]: 95: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,546 INFO L290 TraceCheckUtils]: 94: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,546 INFO L290 TraceCheckUtils]: 93: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,546 INFO L272 TraceCheckUtils]: 92: Hoare triple {18300#(< 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)); {18067#true} is VALID [2022-04-08 04:30:11,547 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {18067#true} {18300#(< 0 main_~c~0)} #88#return; {18300#(< 0 main_~c~0)} is VALID [2022-04-08 04:30:11,547 INFO L290 TraceCheckUtils]: 90: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,547 INFO L290 TraceCheckUtils]: 89: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,547 INFO L290 TraceCheckUtils]: 88: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,547 INFO L272 TraceCheckUtils]: 87: Hoare triple {18300#(< 0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,548 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18067#true} {18300#(< 0 main_~c~0)} #86#return; {18300#(< 0 main_~c~0)} is VALID [2022-04-08 04:30:11,548 INFO L290 TraceCheckUtils]: 85: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,548 INFO L290 TraceCheckUtils]: 84: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,548 INFO L290 TraceCheckUtils]: 83: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,548 INFO L272 TraceCheckUtils]: 82: Hoare triple {18300#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,548 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {18067#true} {18300#(< 0 main_~c~0)} #84#return; {18300#(< 0 main_~c~0)} is VALID [2022-04-08 04:30:11,549 INFO L290 TraceCheckUtils]: 80: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,549 INFO L290 TraceCheckUtils]: 79: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,549 INFO L290 TraceCheckUtils]: 78: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,549 INFO L272 TraceCheckUtils]: 77: Hoare triple {18300#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,549 INFO L290 TraceCheckUtils]: 76: Hoare triple {18300#(< 0 main_~c~0)} assume !false; {18300#(< 0 main_~c~0)} is VALID [2022-04-08 04:30:11,550 INFO L290 TraceCheckUtils]: 75: Hoare triple {18233#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18300#(< 0 main_~c~0)} is VALID [2022-04-08 04:30:11,551 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {18067#true} {18233#(< main_~b~0 main_~c~0)} #90#return; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:30:11,551 INFO L290 TraceCheckUtils]: 73: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,551 INFO L290 TraceCheckUtils]: 72: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,551 INFO L290 TraceCheckUtils]: 71: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,551 INFO L272 TraceCheckUtils]: 70: Hoare triple {18233#(< 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)); {18067#true} is VALID [2022-04-08 04:30:11,551 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18067#true} {18233#(< main_~b~0 main_~c~0)} #88#return; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:30:11,551 INFO L290 TraceCheckUtils]: 68: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,551 INFO L290 TraceCheckUtils]: 67: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,552 INFO L290 TraceCheckUtils]: 66: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,552 INFO L272 TraceCheckUtils]: 65: Hoare triple {18233#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,552 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18067#true} {18233#(< main_~b~0 main_~c~0)} #86#return; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:30:11,552 INFO L290 TraceCheckUtils]: 63: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,552 INFO L290 TraceCheckUtils]: 62: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,552 INFO L290 TraceCheckUtils]: 61: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,552 INFO L272 TraceCheckUtils]: 60: Hoare triple {18233#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,553 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18067#true} {18233#(< main_~b~0 main_~c~0)} #84#return; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:30:11,553 INFO L290 TraceCheckUtils]: 58: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,553 INFO L290 TraceCheckUtils]: 57: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,553 INFO L290 TraceCheckUtils]: 56: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,553 INFO L272 TraceCheckUtils]: 55: Hoare triple {18233#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,553 INFO L290 TraceCheckUtils]: 54: Hoare triple {18233#(< main_~b~0 main_~c~0)} assume !false; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:30:11,554 INFO L290 TraceCheckUtils]: 53: Hoare triple {18226#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18233#(< main_~b~0 main_~c~0)} is VALID [2022-04-08 04:30:11,554 INFO L290 TraceCheckUtils]: 52: Hoare triple {18226#(< main_~b~0 main_~a~0)} assume !false; {18226#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 04:30:11,554 INFO L290 TraceCheckUtils]: 51: Hoare triple {18222#(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; {18226#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 04:30:11,555 INFO L290 TraceCheckUtils]: 50: Hoare triple {18067#true} assume !(~c~0 >= ~b~0); {18222#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 04:30:11,555 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {18067#true} {18067#true} #90#return; {18067#true} is VALID [2022-04-08 04:30:11,555 INFO L290 TraceCheckUtils]: 48: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,555 INFO L290 TraceCheckUtils]: 47: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,555 INFO L290 TraceCheckUtils]: 46: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,555 INFO L272 TraceCheckUtils]: 45: Hoare triple {18067#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)); {18067#true} is VALID [2022-04-08 04:30:11,555 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {18067#true} {18067#true} #88#return; {18067#true} is VALID [2022-04-08 04:30:11,555 INFO L290 TraceCheckUtils]: 43: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,555 INFO L290 TraceCheckUtils]: 42: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,555 INFO L290 TraceCheckUtils]: 41: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,555 INFO L272 TraceCheckUtils]: 40: Hoare triple {18067#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,555 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {18067#true} {18067#true} #86#return; {18067#true} is VALID [2022-04-08 04:30:11,555 INFO L290 TraceCheckUtils]: 38: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,555 INFO L290 TraceCheckUtils]: 37: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,555 INFO L290 TraceCheckUtils]: 36: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,555 INFO L272 TraceCheckUtils]: 35: Hoare triple {18067#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,555 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {18067#true} {18067#true} #84#return; {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L290 TraceCheckUtils]: 33: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L290 TraceCheckUtils]: 32: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L290 TraceCheckUtils]: 31: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L272 TraceCheckUtils]: 30: Hoare triple {18067#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L290 TraceCheckUtils]: 29: Hoare triple {18067#true} assume !false; {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L290 TraceCheckUtils]: 28: Hoare triple {18067#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L290 TraceCheckUtils]: 27: Hoare triple {18067#true} assume !false; {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18067#true} {18067#true} #82#return; {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L290 TraceCheckUtils]: 25: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L290 TraceCheckUtils]: 24: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L290 TraceCheckUtils]: 23: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L272 TraceCheckUtils]: 22: Hoare triple {18067#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18067#true} {18067#true} #80#return; {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L290 TraceCheckUtils]: 20: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L290 TraceCheckUtils]: 19: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L290 TraceCheckUtils]: 18: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L272 TraceCheckUtils]: 17: Hoare triple {18067#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,556 INFO L290 TraceCheckUtils]: 16: Hoare triple {18067#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; {18067#true} is VALID [2022-04-08 04:30:11,557 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18067#true} {18067#true} #78#return; {18067#true} is VALID [2022-04-08 04:30:11,557 INFO L290 TraceCheckUtils]: 14: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,557 INFO L290 TraceCheckUtils]: 13: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,557 INFO L290 TraceCheckUtils]: 12: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,557 INFO L272 TraceCheckUtils]: 11: Hoare triple {18067#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,557 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18067#true} {18067#true} #76#return; {18067#true} is VALID [2022-04-08 04:30:11,557 INFO L290 TraceCheckUtils]: 9: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,557 INFO L290 TraceCheckUtils]: 8: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 04:30:11,557 INFO L290 TraceCheckUtils]: 7: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 04:30:11,557 INFO L272 TraceCheckUtils]: 6: Hoare triple {18067#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18067#true} is VALID [2022-04-08 04:30:11,557 INFO L290 TraceCheckUtils]: 5: Hoare triple {18067#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; {18067#true} is VALID [2022-04-08 04:30:11,557 INFO L272 TraceCheckUtils]: 4: Hoare triple {18067#true} call #t~ret6 := main(); {18067#true} is VALID [2022-04-08 04:30:11,557 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18067#true} {18067#true} #96#return; {18067#true} is VALID [2022-04-08 04:30:11,557 INFO L290 TraceCheckUtils]: 2: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 04:30:11,557 INFO L290 TraceCheckUtils]: 1: Hoare triple {18067#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); {18067#true} is VALID [2022-04-08 04:30:11,557 INFO L272 TraceCheckUtils]: 0: Hoare triple {18067#true} call ULTIMATE.init(); {18067#true} is VALID [2022-04-08 04:30:11,558 INFO L134 CoverageAnalysis]: Checked inductivity of 337 backedges. 40 proven. 9 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-08 04:30:11,558 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:30:11,558 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [295015110] [2022-04-08 04:30:11,558 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:30:11,558 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [125035846] [2022-04-08 04:30:11,558 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [125035846] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:30:11,558 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:30:11,558 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2022-04-08 04:30:11,558 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:30:11,558 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1760235350] [2022-04-08 04:30:11,558 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1760235350] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:30:11,558 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:30:11,558 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 04:30:11,558 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [928343412] [2022-04-08 04:30:11,559 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:30:11,559 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 7 states have internal predecessors, (27), 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 105 [2022-04-08 04:30:11,559 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:30:11,559 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 7 states have internal predecessors, (27), 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-08 04:30:11,618 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:30:11,619 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 04:30:11,619 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:30:11,619 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 04:30:11,619 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-04-08 04:30:11,619 INFO L87 Difference]: Start difference. First operand 207 states and 264 transitions. Second operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 7 states have internal predecessors, (27), 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-08 04:30:12,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:30:12,971 INFO L93 Difference]: Finished difference Result 257 states and 349 transitions. [2022-04-08 04:30:12,971 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 04:30:12,971 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 7 states have internal predecessors, (27), 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 105 [2022-04-08 04:30:12,971 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:30:12,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 7 states have internal predecessors, (27), 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-08 04:30:12,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 121 transitions. [2022-04-08 04:30:12,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 7 states have internal predecessors, (27), 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-08 04:30:12,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 121 transitions. [2022-04-08 04:30:12,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 121 transitions. [2022-04-08 04:30:13,168 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:30:13,172 INFO L225 Difference]: With dead ends: 257 [2022-04-08 04:30:13,172 INFO L226 Difference]: Without dead ends: 249 [2022-04-08 04:30:13,172 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 220 GetRequests, 205 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=62, Invalid=148, Unknown=0, NotChecked=0, Total=210 [2022-04-08 04:30:13,173 INFO L913 BasicCegarLoop]: 80 mSDtfsCounter, 14 mSDsluCounter, 170 mSDsCounter, 0 mSdLazyCounter, 205 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 250 SdHoareTripleChecker+Invalid, 245 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 205 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 04:30:13,173 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 250 Invalid, 245 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 205 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 04:30:13,173 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 249 states. [2022-04-08 04:30:13,644 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 249 to 230. [2022-04-08 04:30:13,644 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:30:13,644 INFO L82 GeneralOperation]: Start isEquivalent. First operand 249 states. Second operand has 230 states, 123 states have (on average 1.1382113821138211) internal successors, (140), 125 states have internal predecessors, (140), 85 states have call successors, (85), 22 states have call predecessors, (85), 21 states have return successors, (82), 82 states have call predecessors, (82), 82 states have call successors, (82) [2022-04-08 04:30:13,645 INFO L74 IsIncluded]: Start isIncluded. First operand 249 states. Second operand has 230 states, 123 states have (on average 1.1382113821138211) internal successors, (140), 125 states have internal predecessors, (140), 85 states have call successors, (85), 22 states have call predecessors, (85), 21 states have return successors, (82), 82 states have call predecessors, (82), 82 states have call successors, (82) [2022-04-08 04:30:13,645 INFO L87 Difference]: Start difference. First operand 249 states. Second operand has 230 states, 123 states have (on average 1.1382113821138211) internal successors, (140), 125 states have internal predecessors, (140), 85 states have call successors, (85), 22 states have call predecessors, (85), 21 states have return successors, (82), 82 states have call predecessors, (82), 82 states have call successors, (82) [2022-04-08 04:30:13,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:30:13,650 INFO L93 Difference]: Finished difference Result 249 states and 340 transitions. [2022-04-08 04:30:13,650 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 340 transitions. [2022-04-08 04:30:13,651 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:30:13,651 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:30:13,651 INFO L74 IsIncluded]: Start isIncluded. First operand has 230 states, 123 states have (on average 1.1382113821138211) internal successors, (140), 125 states have internal predecessors, (140), 85 states have call successors, (85), 22 states have call predecessors, (85), 21 states have return successors, (82), 82 states have call predecessors, (82), 82 states have call successors, (82) Second operand 249 states. [2022-04-08 04:30:13,651 INFO L87 Difference]: Start difference. First operand has 230 states, 123 states have (on average 1.1382113821138211) internal successors, (140), 125 states have internal predecessors, (140), 85 states have call successors, (85), 22 states have call predecessors, (85), 21 states have return successors, (82), 82 states have call predecessors, (82), 82 states have call successors, (82) Second operand 249 states. [2022-04-08 04:30:13,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:30:13,657 INFO L93 Difference]: Finished difference Result 249 states and 340 transitions. [2022-04-08 04:30:13,657 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 340 transitions. [2022-04-08 04:30:13,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:30:13,657 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:30:13,657 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:30:13,657 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:30:13,658 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 230 states, 123 states have (on average 1.1382113821138211) internal successors, (140), 125 states have internal predecessors, (140), 85 states have call successors, (85), 22 states have call predecessors, (85), 21 states have return successors, (82), 82 states have call predecessors, (82), 82 states have call successors, (82) [2022-04-08 04:30:13,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 230 states to 230 states and 307 transitions. [2022-04-08 04:30:13,663 INFO L78 Accepts]: Start accepts. Automaton has 230 states and 307 transitions. Word has length 105 [2022-04-08 04:30:13,663 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:30:13,663 INFO L478 AbstractCegarLoop]: Abstraction has 230 states and 307 transitions. [2022-04-08 04:30:13,663 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 7 states have internal predecessors, (27), 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-08 04:30:13,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 230 states and 307 transitions. [2022-04-08 04:30:14,250 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 307 edges. 307 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:30:14,251 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 307 transitions. [2022-04-08 04:30:14,252 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-08 04:30:14,252 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:30:14,252 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 4, 4, 4, 4, 4, 4, 4, 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-08 04:30:14,269 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-08 04:30:14,452 WARN L460 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-08 04:30:14,453 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:30:14,453 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:30:14,453 INFO L85 PathProgramCache]: Analyzing trace with hash -2080181613, now seen corresponding path program 3 times [2022-04-08 04:30:14,453 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:30:14,453 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [538432005] [2022-04-08 04:30:14,453 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:30:14,453 INFO L85 PathProgramCache]: Analyzing trace with hash -2080181613, now seen corresponding path program 4 times [2022-04-08 04:30:14,453 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:30:14,453 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1153040134] [2022-04-08 04:30:14,454 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:30:14,454 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:30:14,463 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:30:14,463 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1641720910] [2022-04-08 04:30:14,463 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:30:14,463 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:30:14,463 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:30:14,464 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-08 04:30:14,465 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-08 04:30:14,515 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:30:14,516 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:30:14,517 INFO L263 TraceCheckSpWp]: Trace formula consists of 247 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-08 04:30:14,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:30:14,536 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:30:17,236 INFO L272 TraceCheckUtils]: 0: Hoare triple {20194#true} call ULTIMATE.init(); {20194#true} is VALID [2022-04-08 04:30:17,236 INFO L290 TraceCheckUtils]: 1: Hoare triple {20194#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); {20194#true} is VALID [2022-04-08 04:30:17,236 INFO L290 TraceCheckUtils]: 2: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:17,236 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20194#true} {20194#true} #96#return; {20194#true} is VALID [2022-04-08 04:30:17,236 INFO L272 TraceCheckUtils]: 4: Hoare triple {20194#true} call #t~ret6 := main(); {20194#true} is VALID [2022-04-08 04:30:17,236 INFO L290 TraceCheckUtils]: 5: Hoare triple {20194#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; {20194#true} is VALID [2022-04-08 04:30:17,236 INFO L272 TraceCheckUtils]: 6: Hoare triple {20194#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:17,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {20194#true} ~cond := #in~cond; {20220#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:30:17,237 INFO L290 TraceCheckUtils]: 8: Hoare triple {20220#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {20224#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:30:17,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {20224#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {20224#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:30:17,238 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20224#(not (= |assume_abort_if_not_#in~cond| 0))} {20194#true} #76#return; {20231#(<= 1 main_~x~0)} is VALID [2022-04-08 04:30:17,238 INFO L272 TraceCheckUtils]: 11: Hoare triple {20231#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:17,238 INFO L290 TraceCheckUtils]: 12: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:17,238 INFO L290 TraceCheckUtils]: 13: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:17,238 INFO L290 TraceCheckUtils]: 14: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:17,238 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20194#true} {20231#(<= 1 main_~x~0)} #78#return; {20231#(<= 1 main_~x~0)} is VALID [2022-04-08 04:30:17,239 INFO L290 TraceCheckUtils]: 16: Hoare triple {20231#(<= 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; {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-08 04:30:17,239 INFO L272 TraceCheckUtils]: 17: Hoare triple {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:17,239 INFO L290 TraceCheckUtils]: 18: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:17,239 INFO L290 TraceCheckUtils]: 19: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:17,239 INFO L290 TraceCheckUtils]: 20: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:17,239 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20194#true} {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} #80#return; {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-08 04:30:17,240 INFO L272 TraceCheckUtils]: 22: Hoare triple {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:17,240 INFO L290 TraceCheckUtils]: 23: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:17,240 INFO L290 TraceCheckUtils]: 24: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:17,240 INFO L290 TraceCheckUtils]: 25: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:17,240 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20194#true} {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} #82#return; {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-08 04:30:17,241 INFO L290 TraceCheckUtils]: 27: Hoare triple {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} assume !false; {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-08 04:30:17,241 INFO L290 TraceCheckUtils]: 28: Hoare triple {20250#(and (<= 1 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-08 04:30:17,241 INFO L290 TraceCheckUtils]: 29: Hoare triple {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} assume !false; {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-08 04:30:17,241 INFO L272 TraceCheckUtils]: 30: Hoare triple {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:17,241 INFO L290 TraceCheckUtils]: 31: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:17,241 INFO L290 TraceCheckUtils]: 32: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:17,241 INFO L290 TraceCheckUtils]: 33: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:17,242 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {20194#true} {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} #84#return; {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-08 04:30:17,242 INFO L272 TraceCheckUtils]: 35: Hoare triple {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:17,242 INFO L290 TraceCheckUtils]: 36: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:17,242 INFO L290 TraceCheckUtils]: 37: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:17,242 INFO L290 TraceCheckUtils]: 38: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:17,243 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {20194#true} {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} #86#return; {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-08 04:30:17,243 INFO L272 TraceCheckUtils]: 40: Hoare triple {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:17,243 INFO L290 TraceCheckUtils]: 41: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:17,243 INFO L290 TraceCheckUtils]: 42: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:17,243 INFO L290 TraceCheckUtils]: 43: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:17,243 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {20194#true} {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} #88#return; {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-08 04:30:17,244 INFO L272 TraceCheckUtils]: 45: Hoare triple {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~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)); {20194#true} is VALID [2022-04-08 04:30:17,244 INFO L290 TraceCheckUtils]: 46: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:17,244 INFO L290 TraceCheckUtils]: 47: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:17,244 INFO L290 TraceCheckUtils]: 48: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:17,244 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {20194#true} {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} #90#return; {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} is VALID [2022-04-08 04:30:17,245 INFO L290 TraceCheckUtils]: 50: Hoare triple {20287#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0))} assume !(~c~0 >= ~b~0); {20354#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 04:30:17,245 INFO L290 TraceCheckUtils]: 51: Hoare triple {20354#(and (<= main_~c~0 main_~x~0) (<= 1 main_~x~0) (= main_~b~0 main_~y~0) (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; {20358#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~a~0))} is VALID [2022-04-08 04:30:17,245 INFO L290 TraceCheckUtils]: 52: Hoare triple {20358#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~a~0))} assume !false; {20358#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~a~0))} is VALID [2022-04-08 04:30:17,246 INFO L290 TraceCheckUtils]: 53: Hoare triple {20358#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} is VALID [2022-04-08 04:30:17,246 INFO L290 TraceCheckUtils]: 54: Hoare triple {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} assume !false; {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} is VALID [2022-04-08 04:30:17,246 INFO L272 TraceCheckUtils]: 55: Hoare triple {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:17,246 INFO L290 TraceCheckUtils]: 56: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:17,246 INFO L290 TraceCheckUtils]: 57: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:17,246 INFO L290 TraceCheckUtils]: 58: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:17,247 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {20194#true} {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} #84#return; {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} is VALID [2022-04-08 04:30:17,247 INFO L272 TraceCheckUtils]: 60: Hoare triple {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:17,247 INFO L290 TraceCheckUtils]: 61: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:17,247 INFO L290 TraceCheckUtils]: 62: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:17,247 INFO L290 TraceCheckUtils]: 63: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:17,248 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20194#true} {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} #86#return; {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} is VALID [2022-04-08 04:30:17,248 INFO L272 TraceCheckUtils]: 65: Hoare triple {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:17,248 INFO L290 TraceCheckUtils]: 66: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:17,248 INFO L290 TraceCheckUtils]: 67: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:17,248 INFO L290 TraceCheckUtils]: 68: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:17,248 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {20194#true} {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} #88#return; {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} is VALID [2022-04-08 04:30:17,248 INFO L272 TraceCheckUtils]: 70: Hoare triple {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~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)); {20194#true} is VALID [2022-04-08 04:30:17,249 INFO L290 TraceCheckUtils]: 71: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:17,249 INFO L290 TraceCheckUtils]: 72: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:17,249 INFO L290 TraceCheckUtils]: 73: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:17,249 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {20194#true} {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} #90#return; {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} is VALID [2022-04-08 04:30:17,250 INFO L290 TraceCheckUtils]: 75: Hoare triple {20365#(and (<= main_~b~0 main_~x~0) (<= 1 main_~x~0) (< main_~b~0 main_~y~0) (<= main_~y~0 main_~c~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} is VALID [2022-04-08 04:30:17,251 INFO L290 TraceCheckUtils]: 76: Hoare triple {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} assume !false; {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} is VALID [2022-04-08 04:30:17,251 INFO L272 TraceCheckUtils]: 77: Hoare triple {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:17,251 INFO L290 TraceCheckUtils]: 78: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:17,251 INFO L290 TraceCheckUtils]: 79: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:17,251 INFO L290 TraceCheckUtils]: 80: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:17,251 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {20194#true} {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} #84#return; {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} is VALID [2022-04-08 04:30:17,251 INFO L272 TraceCheckUtils]: 82: Hoare triple {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:17,252 INFO L290 TraceCheckUtils]: 83: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:17,252 INFO L290 TraceCheckUtils]: 84: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:17,252 INFO L290 TraceCheckUtils]: 85: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:17,252 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {20194#true} {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} #86#return; {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} is VALID [2022-04-08 04:30:17,252 INFO L272 TraceCheckUtils]: 87: Hoare triple {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:17,252 INFO L290 TraceCheckUtils]: 88: Hoare triple {20194#true} ~cond := #in~cond; {20472#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:30:17,253 INFO L290 TraceCheckUtils]: 89: Hoare triple {20472#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:30:17,253 INFO L290 TraceCheckUtils]: 90: Hoare triple {20476#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:30:17,254 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {20476#(not (= |__VERIFIER_assert_#in~cond| 0))} {20432#(and (<= main_~b~0 main_~x~0) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} #88#return; {20483#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} is VALID [2022-04-08 04:30:17,254 INFO L272 TraceCheckUtils]: 92: Hoare triple {20483#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~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)); {20194#true} is VALID [2022-04-08 04:30:17,254 INFO L290 TraceCheckUtils]: 93: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:17,254 INFO L290 TraceCheckUtils]: 94: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:17,254 INFO L290 TraceCheckUtils]: 95: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:17,255 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {20194#true} {20483#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} #90#return; {20483#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} is VALID [2022-04-08 04:30:17,255 INFO L290 TraceCheckUtils]: 97: Hoare triple {20483#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 (+ main_~c~0 main_~b~0)) (<= 1 main_~x~0) (< main_~b~0 main_~y~0))} assume !(~c~0 >= ~b~0); {20502#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (< main_~b~0 main_~y~0) (< main_~y~0 (* main_~b~0 2)))} is VALID [2022-04-08 04:30:17,256 INFO L290 TraceCheckUtils]: 98: Hoare triple {20502#(and (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (< main_~b~0 main_~y~0) (< main_~y~0 (* main_~b~0 2)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} is VALID [2022-04-08 04:30:17,257 INFO L290 TraceCheckUtils]: 99: Hoare triple {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} assume !false; {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} is VALID [2022-04-08 04:30:17,257 INFO L290 TraceCheckUtils]: 100: Hoare triple {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} is VALID [2022-04-08 04:30:17,258 INFO L290 TraceCheckUtils]: 101: Hoare triple {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} assume !false; {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} is VALID [2022-04-08 04:30:17,258 INFO L272 TraceCheckUtils]: 102: Hoare triple {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:17,258 INFO L290 TraceCheckUtils]: 103: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:17,258 INFO L290 TraceCheckUtils]: 104: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:17,258 INFO L290 TraceCheckUtils]: 105: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:17,259 INFO L284 TraceCheckUtils]: 106: Hoare quadruple {20194#true} {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} #84#return; {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} is VALID [2022-04-08 04:30:17,259 INFO L272 TraceCheckUtils]: 107: Hoare triple {20506#(and (<= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~x~0) (< main_~y~0 (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20534#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:30:17,260 INFO L290 TraceCheckUtils]: 108: Hoare triple {20534#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20538#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:30:17,260 INFO L290 TraceCheckUtils]: 109: Hoare triple {20538#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20195#false} is VALID [2022-04-08 04:30:17,260 INFO L290 TraceCheckUtils]: 110: Hoare triple {20195#false} assume !false; {20195#false} is VALID [2022-04-08 04:30:17,260 INFO L134 CoverageAnalysis]: Checked inductivity of 396 backedges. 55 proven. 50 refuted. 0 times theorem prover too weak. 291 trivial. 0 not checked. [2022-04-08 04:30:17,260 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:30:52,213 INFO L290 TraceCheckUtils]: 110: Hoare triple {20195#false} assume !false; {20195#false} is VALID [2022-04-08 04:30:52,214 INFO L290 TraceCheckUtils]: 109: Hoare triple {20538#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20195#false} is VALID [2022-04-08 04:30:52,214 INFO L290 TraceCheckUtils]: 108: Hoare triple {20534#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20538#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:30:52,215 INFO L272 TraceCheckUtils]: 107: Hoare triple {20554#(= 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)); {20534#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:30:52,215 INFO L284 TraceCheckUtils]: 106: Hoare quadruple {20194#true} {20554#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #84#return; {20554#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:30:52,215 INFO L290 TraceCheckUtils]: 105: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,215 INFO L290 TraceCheckUtils]: 104: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:52,215 INFO L290 TraceCheckUtils]: 103: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:52,216 INFO L272 TraceCheckUtils]: 102: Hoare triple {20554#(= 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)); {20194#true} is VALID [2022-04-08 04:30:52,216 INFO L290 TraceCheckUtils]: 101: Hoare triple {20554#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {20554#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:30:52,216 INFO L290 TraceCheckUtils]: 100: Hoare triple {20554#(= 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; {20554#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:30:52,217 INFO L290 TraceCheckUtils]: 99: Hoare triple {20554#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {20554#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:30:52,217 INFO L290 TraceCheckUtils]: 98: Hoare triple {20582#(= 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; {20554#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:30:52,217 INFO L290 TraceCheckUtils]: 97: Hoare triple {20586#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {20582#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:30:52,218 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {20194#true} {20586#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} #90#return; {20586#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 04:30:52,218 INFO L290 TraceCheckUtils]: 95: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,218 INFO L290 TraceCheckUtils]: 94: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:52,218 INFO L290 TraceCheckUtils]: 93: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:52,218 INFO L272 TraceCheckUtils]: 92: Hoare triple {20586#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~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)); {20194#true} is VALID [2022-04-08 04:30:52,219 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {20476#(not (= |__VERIFIER_assert_#in~cond| 0))} {20194#true} #88#return; {20586#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 04:30:52,219 INFO L290 TraceCheckUtils]: 90: Hoare triple {20476#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:30:52,219 INFO L290 TraceCheckUtils]: 89: Hoare triple {20614#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {20476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:30:52,220 INFO L290 TraceCheckUtils]: 88: Hoare triple {20194#true} ~cond := #in~cond; {20614#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:30:52,220 INFO L272 TraceCheckUtils]: 87: Hoare triple {20194#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:52,220 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {20194#true} {20194#true} #86#return; {20194#true} is VALID [2022-04-08 04:30:52,220 INFO L290 TraceCheckUtils]: 85: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,220 INFO L290 TraceCheckUtils]: 84: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:52,220 INFO L290 TraceCheckUtils]: 83: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:52,220 INFO L272 TraceCheckUtils]: 82: Hoare triple {20194#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:52,220 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {20194#true} {20194#true} #84#return; {20194#true} is VALID [2022-04-08 04:30:52,220 INFO L290 TraceCheckUtils]: 80: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,220 INFO L290 TraceCheckUtils]: 79: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:52,220 INFO L290 TraceCheckUtils]: 78: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:52,220 INFO L272 TraceCheckUtils]: 77: Hoare triple {20194#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:52,220 INFO L290 TraceCheckUtils]: 76: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-08 04:30:52,220 INFO L290 TraceCheckUtils]: 75: Hoare triple {20194#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20194#true} is VALID [2022-04-08 04:30:52,220 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {20194#true} {20194#true} #90#return; {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L290 TraceCheckUtils]: 73: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L290 TraceCheckUtils]: 72: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L290 TraceCheckUtils]: 71: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L272 TraceCheckUtils]: 70: Hoare triple {20194#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)); {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {20194#true} {20194#true} #88#return; {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L290 TraceCheckUtils]: 68: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L290 TraceCheckUtils]: 67: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L290 TraceCheckUtils]: 66: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L272 TraceCheckUtils]: 65: Hoare triple {20194#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20194#true} {20194#true} #86#return; {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L290 TraceCheckUtils]: 63: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L290 TraceCheckUtils]: 62: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L290 TraceCheckUtils]: 61: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L272 TraceCheckUtils]: 60: Hoare triple {20194#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {20194#true} {20194#true} #84#return; {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L290 TraceCheckUtils]: 58: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L290 TraceCheckUtils]: 57: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L290 TraceCheckUtils]: 56: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:52,221 INFO L272 TraceCheckUtils]: 55: Hoare triple {20194#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L290 TraceCheckUtils]: 54: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L290 TraceCheckUtils]: 53: Hoare triple {20194#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L290 TraceCheckUtils]: 52: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L290 TraceCheckUtils]: 51: Hoare triple {20194#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; {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L290 TraceCheckUtils]: 50: Hoare triple {20194#true} assume !(~c~0 >= ~b~0); {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {20194#true} {20194#true} #90#return; {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L290 TraceCheckUtils]: 48: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L290 TraceCheckUtils]: 47: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L290 TraceCheckUtils]: 46: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L272 TraceCheckUtils]: 45: Hoare triple {20194#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)); {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {20194#true} {20194#true} #88#return; {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L290 TraceCheckUtils]: 43: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L290 TraceCheckUtils]: 42: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L290 TraceCheckUtils]: 41: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L272 TraceCheckUtils]: 40: Hoare triple {20194#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {20194#true} {20194#true} #86#return; {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L290 TraceCheckUtils]: 38: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,222 INFO L290 TraceCheckUtils]: 37: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:52,223 INFO L290 TraceCheckUtils]: 36: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:52,223 INFO L272 TraceCheckUtils]: 35: Hoare triple {20194#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:52,223 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {20194#true} {20194#true} #84#return; {20194#true} is VALID [2022-04-08 04:30:52,223 INFO L290 TraceCheckUtils]: 33: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,230 INFO L290 TraceCheckUtils]: 32: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:52,230 INFO L290 TraceCheckUtils]: 31: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:52,230 INFO L272 TraceCheckUtils]: 30: Hoare triple {20194#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:52,230 INFO L290 TraceCheckUtils]: 29: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L290 TraceCheckUtils]: 28: Hoare triple {20194#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L290 TraceCheckUtils]: 27: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20194#true} {20194#true} #82#return; {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L290 TraceCheckUtils]: 25: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L290 TraceCheckUtils]: 24: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L290 TraceCheckUtils]: 23: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L272 TraceCheckUtils]: 22: Hoare triple {20194#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20194#true} {20194#true} #80#return; {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L290 TraceCheckUtils]: 20: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L290 TraceCheckUtils]: 19: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L290 TraceCheckUtils]: 18: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L272 TraceCheckUtils]: 17: Hoare triple {20194#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L290 TraceCheckUtils]: 16: Hoare triple {20194#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; {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20194#true} {20194#true} #78#return; {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L290 TraceCheckUtils]: 14: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L290 TraceCheckUtils]: 13: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L290 TraceCheckUtils]: 12: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:52,231 INFO L272 TraceCheckUtils]: 11: Hoare triple {20194#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:52,232 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20194#true} {20194#true} #76#return; {20194#true} is VALID [2022-04-08 04:30:52,232 INFO L290 TraceCheckUtils]: 9: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,232 INFO L290 TraceCheckUtils]: 8: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 04:30:52,232 INFO L290 TraceCheckUtils]: 7: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 04:30:52,232 INFO L272 TraceCheckUtils]: 6: Hoare triple {20194#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20194#true} is VALID [2022-04-08 04:30:52,232 INFO L290 TraceCheckUtils]: 5: Hoare triple {20194#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; {20194#true} is VALID [2022-04-08 04:30:52,232 INFO L272 TraceCheckUtils]: 4: Hoare triple {20194#true} call #t~ret6 := main(); {20194#true} is VALID [2022-04-08 04:30:52,232 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20194#true} {20194#true} #96#return; {20194#true} is VALID [2022-04-08 04:30:52,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 04:30:52,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {20194#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); {20194#true} is VALID [2022-04-08 04:30:52,232 INFO L272 TraceCheckUtils]: 0: Hoare triple {20194#true} call ULTIMATE.init(); {20194#true} is VALID [2022-04-08 04:30:52,232 INFO L134 CoverageAnalysis]: Checked inductivity of 396 backedges. 73 proven. 7 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-08 04:30:52,233 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:30:52,233 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1153040134] [2022-04-08 04:30:52,233 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:30:52,233 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1641720910] [2022-04-08 04:30:52,233 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1641720910] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:30:52,233 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:30:52,233 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 9] total 22 [2022-04-08 04:30:52,233 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:30:52,233 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [538432005] [2022-04-08 04:30:52,233 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [538432005] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:30:52,233 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:30:52,233 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-08 04:30:52,233 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [32408499] [2022-04-08 04:30:52,233 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:30:52,234 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 15 states have internal predecessors, (34), 8 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) Word has length 111 [2022-04-08 04:30:52,234 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:30:52,234 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 15 states have internal predecessors, (34), 8 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 04:30:52,308 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:30:52,308 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-08 04:30:52,308 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:30:52,308 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-08 04:30:52,308 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=399, Unknown=0, NotChecked=0, Total=462 [2022-04-08 04:30:52,309 INFO L87 Difference]: Start difference. First operand 230 states and 307 transitions. Second operand has 18 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 15 states have internal predecessors, (34), 8 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 04:31:03,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:03,318 INFO L93 Difference]: Finished difference Result 260 states and 350 transitions. [2022-04-08 04:31:03,318 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 04:31:03,318 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 15 states have internal predecessors, (34), 8 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) Word has length 111 [2022-04-08 04:31:03,318 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:31:03,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 15 states have internal predecessors, (34), 8 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 04:31:03,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 122 transitions. [2022-04-08 04:31:03,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 15 states have internal predecessors, (34), 8 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 04:31:03,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 122 transitions. [2022-04-08 04:31:03,326 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 122 transitions. [2022-04-08 04:31:03,512 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:31:03,517 INFO L225 Difference]: With dead ends: 260 [2022-04-08 04:31:03,517 INFO L226 Difference]: Without dead ends: 258 [2022-04-08 04:31:03,517 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 230 GetRequests, 200 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 167 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=123, Invalid=807, Unknown=0, NotChecked=0, Total=930 [2022-04-08 04:31:03,517 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 53 mSDsluCounter, 173 mSDsCounter, 0 mSdLazyCounter, 749 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 69 SdHoareTripleChecker+Valid, 217 SdHoareTripleChecker+Invalid, 805 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 749 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.3s IncrementalHoareTripleChecker+Time [2022-04-08 04:31:03,518 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [69 Valid, 217 Invalid, 805 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 749 Invalid, 0 Unknown, 0 Unchecked, 4.3s Time] [2022-04-08 04:31:03,518 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 258 states. [2022-04-08 04:31:04,084 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 258 to 255. [2022-04-08 04:31:04,084 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:31:04,084 INFO L82 GeneralOperation]: Start isEquivalent. First operand 258 states. Second operand has 255 states, 135 states have (on average 1.1407407407407408) internal successors, (154), 137 states have internal predecessors, (154), 97 states have call successors, (97), 23 states have call predecessors, (97), 22 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) [2022-04-08 04:31:04,085 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand has 255 states, 135 states have (on average 1.1407407407407408) internal successors, (154), 137 states have internal predecessors, (154), 97 states have call successors, (97), 23 states have call predecessors, (97), 22 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) [2022-04-08 04:31:04,085 INFO L87 Difference]: Start difference. First operand 258 states. Second operand has 255 states, 135 states have (on average 1.1407407407407408) internal successors, (154), 137 states have internal predecessors, (154), 97 states have call successors, (97), 23 states have call predecessors, (97), 22 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) [2022-04-08 04:31:04,090 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:04,090 INFO L93 Difference]: Finished difference Result 258 states and 348 transitions. [2022-04-08 04:31:04,090 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 348 transitions. [2022-04-08 04:31:04,091 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:31:04,091 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:31:04,091 INFO L74 IsIncluded]: Start isIncluded. First operand has 255 states, 135 states have (on average 1.1407407407407408) internal successors, (154), 137 states have internal predecessors, (154), 97 states have call successors, (97), 23 states have call predecessors, (97), 22 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) Second operand 258 states. [2022-04-08 04:31:04,091 INFO L87 Difference]: Start difference. First operand has 255 states, 135 states have (on average 1.1407407407407408) internal successors, (154), 137 states have internal predecessors, (154), 97 states have call successors, (97), 23 states have call predecessors, (97), 22 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) Second operand 258 states. [2022-04-08 04:31:04,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:04,096 INFO L93 Difference]: Finished difference Result 258 states and 348 transitions. [2022-04-08 04:31:04,096 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 348 transitions. [2022-04-08 04:31:04,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:31:04,097 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:31:04,097 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:31:04,097 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:31:04,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 255 states, 135 states have (on average 1.1407407407407408) internal successors, (154), 137 states have internal predecessors, (154), 97 states have call successors, (97), 23 states have call predecessors, (97), 22 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) [2022-04-08 04:31:04,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 255 states to 255 states and 345 transitions. [2022-04-08 04:31:04,103 INFO L78 Accepts]: Start accepts. Automaton has 255 states and 345 transitions. Word has length 111 [2022-04-08 04:31:04,103 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:31:04,103 INFO L478 AbstractCegarLoop]: Abstraction has 255 states and 345 transitions. [2022-04-08 04:31:04,103 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 15 states have internal predecessors, (34), 8 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 04:31:04,103 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 255 states and 345 transitions. [2022-04-08 04:31:04,725 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 345 edges. 345 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:31:04,725 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 345 transitions. [2022-04-08 04:31:04,726 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-08 04:31:04,726 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:31:04,726 INFO L499 BasicCegarLoop]: trace histogram [15, 14, 14, 4, 4, 4, 4, 4, 4, 4, 4, 4, 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-08 04:31:04,745 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Ended with exit code 0 [2022-04-08 04:31:04,926 WARN L460 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-08 04:31:04,927 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:31:04,927 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:31:04,927 INFO L85 PathProgramCache]: Analyzing trace with hash -1295483154, now seen corresponding path program 5 times [2022-04-08 04:31:04,927 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:31:04,927 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [92133025] [2022-04-08 04:31:04,928 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:31:04,928 INFO L85 PathProgramCache]: Analyzing trace with hash -1295483154, now seen corresponding path program 6 times [2022-04-08 04:31:04,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:31:04,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1749998457] [2022-04-08 04:31:04,928 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:31:04,928 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:31:04,937 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:31:04,938 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [297458114] [2022-04-08 04:31:04,938 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:31:04,938 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:31:04,938 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:31:04,943 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-08 04:31:04,944 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-08 04:31:05,019 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 04:31:05,019 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:31:05,021 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 82 conjunts are in the unsatisfiable core [2022-04-08 04:31:05,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:31:05,040 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:31:21,912 INFO L272 TraceCheckUtils]: 0: Hoare triple {22445#true} call ULTIMATE.init(); {22445#true} is VALID [2022-04-08 04:31:21,912 INFO L290 TraceCheckUtils]: 1: Hoare triple {22445#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); {22445#true} is VALID [2022-04-08 04:31:21,912 INFO L290 TraceCheckUtils]: 2: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:31:21,912 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22445#true} {22445#true} #96#return; {22445#true} is VALID [2022-04-08 04:31:21,912 INFO L272 TraceCheckUtils]: 4: Hoare triple {22445#true} call #t~ret6 := main(); {22445#true} is VALID [2022-04-08 04:31:21,912 INFO L290 TraceCheckUtils]: 5: Hoare triple {22445#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; {22445#true} is VALID [2022-04-08 04:31:21,912 INFO L272 TraceCheckUtils]: 6: Hoare triple {22445#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:31:21,913 INFO L290 TraceCheckUtils]: 7: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:31:21,913 INFO L290 TraceCheckUtils]: 8: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:31:21,913 INFO L290 TraceCheckUtils]: 9: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:31:21,913 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22445#true} {22445#true} #76#return; {22445#true} is VALID [2022-04-08 04:31:21,913 INFO L272 TraceCheckUtils]: 11: Hoare triple {22445#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:31:21,913 INFO L290 TraceCheckUtils]: 12: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:31:21,913 INFO L290 TraceCheckUtils]: 13: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:31:21,913 INFO L290 TraceCheckUtils]: 14: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:31:21,913 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22445#true} {22445#true} #78#return; {22445#true} is VALID [2022-04-08 04:31:21,913 INFO L290 TraceCheckUtils]: 16: Hoare triple {22445#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; {22498#(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_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:31:21,913 INFO L272 TraceCheckUtils]: 17: Hoare triple {22498#(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_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:31:21,914 INFO L290 TraceCheckUtils]: 18: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:31:21,914 INFO L290 TraceCheckUtils]: 19: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:31:21,914 INFO L290 TraceCheckUtils]: 20: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:31:21,914 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22445#true} {22498#(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_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #80#return; {22498#(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_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:31:21,914 INFO L272 TraceCheckUtils]: 22: Hoare triple {22498#(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_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:31:21,914 INFO L290 TraceCheckUtils]: 23: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:31:21,914 INFO L290 TraceCheckUtils]: 24: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:31:21,915 INFO L290 TraceCheckUtils]: 25: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:31:21,915 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22445#true} {22498#(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_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #82#return; {22498#(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_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:31:21,916 INFO L290 TraceCheckUtils]: 27: Hoare triple {22498#(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_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {22498#(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_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:31:21,916 INFO L290 TraceCheckUtils]: 28: Hoare triple {22498#(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_~p~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22535#(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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-08 04:31:21,916 INFO L290 TraceCheckUtils]: 29: Hoare triple {22535#(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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {22535#(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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-08 04:31:21,916 INFO L272 TraceCheckUtils]: 30: Hoare triple {22535#(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_~p~0 1) (= 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)); {22445#true} is VALID [2022-04-08 04:31:21,916 INFO L290 TraceCheckUtils]: 31: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:31:21,917 INFO L290 TraceCheckUtils]: 32: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:31:21,917 INFO L290 TraceCheckUtils]: 33: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:31:21,917 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {22445#true} {22535#(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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #84#return; {22535#(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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-08 04:31:21,917 INFO L272 TraceCheckUtils]: 35: Hoare triple {22535#(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_~p~0 1) (= 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)); {22445#true} is VALID [2022-04-08 04:31:21,917 INFO L290 TraceCheckUtils]: 36: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:31:21,917 INFO L290 TraceCheckUtils]: 37: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:31:21,917 INFO L290 TraceCheckUtils]: 38: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:31:21,918 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {22445#true} {22535#(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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #86#return; {22535#(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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-08 04:31:21,918 INFO L272 TraceCheckUtils]: 40: Hoare triple {22535#(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_~p~0 1) (= 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)); {22445#true} is VALID [2022-04-08 04:31:21,918 INFO L290 TraceCheckUtils]: 41: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:31:21,918 INFO L290 TraceCheckUtils]: 42: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:31:21,918 INFO L290 TraceCheckUtils]: 43: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:31:21,919 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {22445#true} {22535#(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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #88#return; {22535#(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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-08 04:31:21,919 INFO L272 TraceCheckUtils]: 45: Hoare triple {22535#(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_~p~0 1) (= 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)); {22445#true} is VALID [2022-04-08 04:31:21,919 INFO L290 TraceCheckUtils]: 46: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:31:21,919 INFO L290 TraceCheckUtils]: 47: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:31:21,919 INFO L290 TraceCheckUtils]: 48: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:31:21,920 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {22445#true} {22535#(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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #90#return; {22535#(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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-08 04:31:21,920 INFO L290 TraceCheckUtils]: 50: Hoare triple {22535#(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_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {22602#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= main_~p~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-08 04:31:21,921 INFO L290 TraceCheckUtils]: 51: Hoare triple {22602#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= main_~p~0 1) (= 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; {22606#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= 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)))} is VALID [2022-04-08 04:31:21,922 INFO L290 TraceCheckUtils]: 52: Hoare triple {22606#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= 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)))} assume !false; {22606#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= 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)))} is VALID [2022-04-08 04:31:21,922 INFO L290 TraceCheckUtils]: 53: Hoare triple {22606#(and (= main_~s~0 0) (= main_~p~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= 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)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22613#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= 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)))} is VALID [2022-04-08 04:31:21,923 INFO L290 TraceCheckUtils]: 54: Hoare triple {22613#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= 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)))} assume !false; {22613#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= 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)))} is VALID [2022-04-08 04:31:21,923 INFO L272 TraceCheckUtils]: 55: Hoare triple {22613#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= 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)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:31:21,923 INFO L290 TraceCheckUtils]: 56: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:31:21,923 INFO L290 TraceCheckUtils]: 57: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:31:21,923 INFO L290 TraceCheckUtils]: 58: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:31:21,924 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {22445#true} {22613#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= 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)))} #84#return; {22613#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= 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)))} is VALID [2022-04-08 04:31:21,924 INFO L272 TraceCheckUtils]: 60: Hoare triple {22613#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= 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)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:31:21,924 INFO L290 TraceCheckUtils]: 61: Hoare triple {22445#true} ~cond := #in~cond; {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:31:21,924 INFO L290 TraceCheckUtils]: 62: Hoare triple {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:31:21,925 INFO L290 TraceCheckUtils]: 63: Hoare triple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:31:21,926 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} {22613#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (not (<= main_~a~0 main_~x~0)) (<= main_~q~0 1) (= 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)))} #86#return; {22649#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 04:31:21,926 INFO L272 TraceCheckUtils]: 65: Hoare triple {22649#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:31:21,926 INFO L290 TraceCheckUtils]: 66: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:31:21,926 INFO L290 TraceCheckUtils]: 67: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:31:21,926 INFO L290 TraceCheckUtils]: 68: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:31:21,926 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {22445#true} {22649#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #88#return; {22649#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 04:31:21,927 INFO L272 TraceCheckUtils]: 70: Hoare triple {22649#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~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)); {22445#true} is VALID [2022-04-08 04:31:21,927 INFO L290 TraceCheckUtils]: 71: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:31:21,927 INFO L290 TraceCheckUtils]: 72: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:31:21,927 INFO L290 TraceCheckUtils]: 73: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:31:21,927 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {22445#true} {22649#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #90#return; {22649#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 04:31:21,928 INFO L290 TraceCheckUtils]: 75: Hoare triple {22649#(and (< main_~x~0 main_~c~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (<= main_~q~0 1) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~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; {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 04:31:21,929 INFO L290 TraceCheckUtils]: 76: Hoare triple {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !false; {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 04:31:21,929 INFO L272 TraceCheckUtils]: 77: Hoare triple {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:31:21,929 INFO L290 TraceCheckUtils]: 78: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:31:21,929 INFO L290 TraceCheckUtils]: 79: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:31:21,929 INFO L290 TraceCheckUtils]: 80: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:31:21,930 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {22445#true} {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} #84#return; {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 04:31:21,930 INFO L272 TraceCheckUtils]: 82: Hoare triple {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~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)); {22445#true} is VALID [2022-04-08 04:31:21,930 INFO L290 TraceCheckUtils]: 83: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:31:21,930 INFO L290 TraceCheckUtils]: 84: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:31:21,930 INFO L290 TraceCheckUtils]: 85: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:31:21,931 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {22445#true} {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} #86#return; {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 04:31:21,931 INFO L272 TraceCheckUtils]: 87: Hoare triple {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~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)); {22445#true} is VALID [2022-04-08 04:31:21,931 INFO L290 TraceCheckUtils]: 88: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:31:21,931 INFO L290 TraceCheckUtils]: 89: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:31:21,931 INFO L290 TraceCheckUtils]: 90: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:31:21,932 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {22445#true} {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} #88#return; {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 04:31:21,932 INFO L272 TraceCheckUtils]: 92: Hoare triple {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~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)); {22445#true} is VALID [2022-04-08 04:31:21,932 INFO L290 TraceCheckUtils]: 93: Hoare triple {22445#true} ~cond := #in~cond; {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:31:21,932 INFO L290 TraceCheckUtils]: 94: Hoare triple {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:31:21,932 INFO L290 TraceCheckUtils]: 95: Hoare triple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:31:23,936 WARN L284 TraceCheckUtils]: 96: Hoare quadruple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} {22683#(and (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} #90#return; {22747#(and (or (and (not (= main_~q~0 0)) (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~y~0 main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~y~0 main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) 0)) (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is UNKNOWN [2022-04-08 04:31:23,939 INFO L290 TraceCheckUtils]: 97: Hoare triple {22747#(and (or (and (not (= main_~q~0 0)) (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~y~0 main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~y~0 main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) 0)) (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {22751#(and (= main_~s~0 0) (= main_~p~0 0) (not (= main_~q~0 0)) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (not (<= main_~b~0 main_~c~0)) (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~y~0 main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) main_~q~0) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-08 04:31:23,941 INFO L290 TraceCheckUtils]: 98: Hoare triple {22751#(and (= main_~s~0 0) (= main_~p~0 0) (not (= main_~q~0 0)) (< main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~q~0 1) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~x~0) (not (<= main_~b~0 main_~c~0)) (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~y~0 main_~y~0 main_~s~0) (* main_~y~0 main_~s~0)) main_~q~0) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22755#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 04:31:23,941 INFO L290 TraceCheckUtils]: 99: Hoare triple {22755#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {22755#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 04:31:23,942 INFO L290 TraceCheckUtils]: 100: Hoare triple {22755#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22762#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (= main_~k~0 0) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 04:31:23,943 INFO L290 TraceCheckUtils]: 101: Hoare triple {22762#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (= main_~k~0 0) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {22762#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (= main_~k~0 0) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 04:31:23,943 INFO L272 TraceCheckUtils]: 102: Hoare triple {22762#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (= main_~k~0 0) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:31:23,943 INFO L290 TraceCheckUtils]: 103: Hoare triple {22445#true} ~cond := #in~cond; {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:31:23,943 INFO L290 TraceCheckUtils]: 104: Hoare triple {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:31:23,943 INFO L290 TraceCheckUtils]: 105: Hoare triple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:31:23,945 INFO L284 TraceCheckUtils]: 106: Hoare quadruple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} {22762#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (= main_~k~0 0) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} #84#return; {22755#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 04:31:23,945 INFO L272 TraceCheckUtils]: 107: Hoare triple {22755#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:31:23,945 INFO L290 TraceCheckUtils]: 108: Hoare triple {22445#true} ~cond := #in~cond; {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:31:23,945 INFO L290 TraceCheckUtils]: 109: Hoare triple {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:31:23,946 INFO L290 TraceCheckUtils]: 110: Hoare triple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:31:23,948 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} {22755#(and (= main_~r~0 0) (not (= main_~p~0 0)) (= (+ main_~s~0 main_~r~0) 1) (not (<= (* main_~a~0 2) main_~y~0)) (< main_~x~0 main_~y~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (<= main_~p~0 1) (= (mod (+ (* (- 1) main_~a~0) (* main_~y~0 main_~r~0) (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~y~0 main_~r~0)) main_~p~0) 0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} #86#return; {22796#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (< (* main_~b~0 2) main_~y~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0))} is VALID [2022-04-08 04:31:23,949 INFO L272 TraceCheckUtils]: 112: Hoare triple {22796#(and (= main_~y~0 (+ main_~b~0 main_~x~0)) (< (* main_~b~0 2) main_~y~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (< main_~x~0 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22800#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:31:23,950 INFO L290 TraceCheckUtils]: 113: Hoare triple {22800#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22804#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:31:23,950 INFO L290 TraceCheckUtils]: 114: Hoare triple {22804#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22446#false} is VALID [2022-04-08 04:31:23,950 INFO L290 TraceCheckUtils]: 115: Hoare triple {22446#false} assume !false; {22446#false} is VALID [2022-04-08 04:31:23,951 INFO L134 CoverageAnalysis]: Checked inductivity of 453 backedges. 129 proven. 56 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-08 04:31:23,951 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:33:21,579 WARN L855 $PredicateComparison]: unable to prove that (forall ((v_main_~q~0_BEFORE_CALL_128 Int) (v_main_~s~0_BEFORE_CALL_131 Int) (v_main_~yy~0_BEFORE_CALL_41 Int) (v_main_~x~0_BEFORE_CALL_166 Int) (v_main_~y~0_BEFORE_CALL_171 Int)) (let ((.cse0 (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))))) (or (and (= (mod .cse0 v_main_~q~0_BEFORE_CALL_128) 0) (not (= 0 v_main_~q~0_BEFORE_CALL_128))) (and (or (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (= (+ (* (- 1) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0)) (not (= |c___VERIFIER_assert_#in~cond| 0))) (or (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (not (= (+ (* (- 1) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0))) (not (= |c___VERIFIER_assert_#in~cond| 1)))) (= .cse0 0)))) is different from true [2022-04-08 04:35:31,424 WARN L855 $PredicateComparison]: unable to prove that (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~q~0_BEFORE_CALL_128 Int) (v_main_~xy~0_BEFORE_CALL_31 Int) (v_main_~s~0_BEFORE_CALL_131 Int) (v_main_~yy~0_BEFORE_CALL_41 Int) (v_main_~x~0_BEFORE_CALL_166 Int) (v_main_~y~0_BEFORE_CALL_171 Int)) (let ((.cse1 (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131))))) (let ((.cse0 (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) .cse1))) (or (= (mod .cse0 v_main_~q~0_BEFORE_CALL_128) 0) (not (= (+ (* (- 1) .cse1) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0)) (= .cse0 0)))))) is different from true [2022-04-08 04:36:09,806 INFO L290 TraceCheckUtils]: 115: Hoare triple {22446#false} assume !false; {22446#false} is VALID [2022-04-08 04:36:09,806 INFO L290 TraceCheckUtils]: 114: Hoare triple {22804#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22446#false} is VALID [2022-04-08 04:36:09,807 INFO L290 TraceCheckUtils]: 113: Hoare triple {22800#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22804#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:36:09,807 INFO L272 TraceCheckUtils]: 112: Hoare triple {22820#(= 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)); {22800#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:36:09,808 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #86#return; {22820#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:36:09,809 INFO L290 TraceCheckUtils]: 110: Hoare triple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:36:09,809 INFO L290 TraceCheckUtils]: 109: Hoare triple {22834#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:36:09,809 INFO L290 TraceCheckUtils]: 108: Hoare triple {22445#true} ~cond := #in~cond; {22834#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:36:09,810 INFO L272 TraceCheckUtils]: 107: Hoare triple {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:36:09,810 INFO L284 TraceCheckUtils]: 106: Hoare quadruple {22445#true} {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #84#return; {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 04:36:09,810 INFO L290 TraceCheckUtils]: 105: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:36:09,810 INFO L290 TraceCheckUtils]: 104: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:36:09,811 INFO L290 TraceCheckUtils]: 103: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:36:09,811 INFO L272 TraceCheckUtils]: 102: Hoare triple {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:36:09,811 INFO L290 TraceCheckUtils]: 101: Hoare triple {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 04:36:09,812 INFO L290 TraceCheckUtils]: 100: Hoare triple {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 04:36:09,812 INFO L290 TraceCheckUtils]: 99: Hoare triple {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 04:36:09,831 INFO L290 TraceCheckUtils]: 98: Hoare triple {22865#(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)))))} ~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; {22824#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-08 04:36:09,832 INFO L290 TraceCheckUtils]: 97: Hoare triple {22869#(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)))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {22865#(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-08 04:36:11,836 WARN L284 TraceCheckUtils]: 96: Hoare quadruple {22877#(forall ((v_main_~q~0_BEFORE_CALL_128 Int) (v_main_~s~0_BEFORE_CALL_131 Int) (v_main_~yy~0_BEFORE_CALL_41 Int) (v_main_~x~0_BEFORE_CALL_166 Int) (v_main_~y~0_BEFORE_CALL_171 Int)) (or (and (= (mod (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) v_main_~q~0_BEFORE_CALL_128) 0) (not (= 0 v_main_~q~0_BEFORE_CALL_128))) (and (or (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (not (= (+ (* (- 1) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0))) (not (= |__VERIFIER_assert_#in~cond| 1))) (or (not (= |__VERIFIER_assert_#in~cond| 0)) (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (= (+ (* (- 1) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0)))) (= (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) 0)))} {22873#(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)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} #90#return; {22869#(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)))) (<= main_~b~0 main_~c~0))} is UNKNOWN [2022-04-08 04:36:13,839 WARN L290 TraceCheckUtils]: 95: Hoare triple {22877#(forall ((v_main_~q~0_BEFORE_CALL_128 Int) (v_main_~s~0_BEFORE_CALL_131 Int) (v_main_~yy~0_BEFORE_CALL_41 Int) (v_main_~x~0_BEFORE_CALL_166 Int) (v_main_~y~0_BEFORE_CALL_171 Int)) (or (and (= (mod (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) v_main_~q~0_BEFORE_CALL_128) 0) (not (= 0 v_main_~q~0_BEFORE_CALL_128))) (and (or (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (not (= (+ (* (- 1) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0))) (not (= |__VERIFIER_assert_#in~cond| 1))) (or (not (= |__VERIFIER_assert_#in~cond| 0)) (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (= (+ (* (- 1) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0)))) (= (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) 0)))} assume true; {22877#(forall ((v_main_~q~0_BEFORE_CALL_128 Int) (v_main_~s~0_BEFORE_CALL_131 Int) (v_main_~yy~0_BEFORE_CALL_41 Int) (v_main_~x~0_BEFORE_CALL_166 Int) (v_main_~y~0_BEFORE_CALL_171 Int)) (or (and (= (mod (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) v_main_~q~0_BEFORE_CALL_128) 0) (not (= 0 v_main_~q~0_BEFORE_CALL_128))) (and (or (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (not (= (+ (* (- 1) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0))) (not (= |__VERIFIER_assert_#in~cond| 1))) (or (not (= |__VERIFIER_assert_#in~cond| 0)) (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (= (+ (* (- 1) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0)))) (= (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) 0)))} is UNKNOWN [2022-04-08 04:36:15,842 WARN L290 TraceCheckUtils]: 94: Hoare triple {22884#(or (forall ((v_main_~q~0_BEFORE_CALL_128 Int) (v_main_~s~0_BEFORE_CALL_131 Int) (v_main_~yy~0_BEFORE_CALL_41 Int) (v_main_~x~0_BEFORE_CALL_166 Int) (v_main_~y~0_BEFORE_CALL_171 Int)) (or (and (= (mod (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) v_main_~q~0_BEFORE_CALL_128) 0) (not (= 0 v_main_~q~0_BEFORE_CALL_128))) (and (or (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (not (= (+ (* (- 1) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0))) (not (= |__VERIFIER_assert_#in~cond| 1))) (or (not (= |__VERIFIER_assert_#in~cond| 0)) (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (= (+ (* (- 1) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0)))) (= (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) 0))) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22877#(forall ((v_main_~q~0_BEFORE_CALL_128 Int) (v_main_~s~0_BEFORE_CALL_131 Int) (v_main_~yy~0_BEFORE_CALL_41 Int) (v_main_~x~0_BEFORE_CALL_166 Int) (v_main_~y~0_BEFORE_CALL_171 Int)) (or (and (= (mod (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) v_main_~q~0_BEFORE_CALL_128) 0) (not (= 0 v_main_~q~0_BEFORE_CALL_128))) (and (or (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (not (= (+ (* (- 1) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0))) (not (= |__VERIFIER_assert_#in~cond| 1))) (or (not (= |__VERIFIER_assert_#in~cond| 0)) (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (= (+ (* (- 1) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0)))) (= (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) 0)))} is UNKNOWN [2022-04-08 04:36:17,845 WARN L290 TraceCheckUtils]: 93: Hoare triple {22888#(or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~q~0_BEFORE_CALL_128 Int) (v_main_~xy~0_BEFORE_CALL_31 Int) (v_main_~s~0_BEFORE_CALL_131 Int) (v_main_~yy~0_BEFORE_CALL_41 Int) (v_main_~x~0_BEFORE_CALL_166 Int) (v_main_~y~0_BEFORE_CALL_171 Int)) (or (= (mod (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) v_main_~q~0_BEFORE_CALL_128) 0) (not (= (+ (* (- 1) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0)) (= (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) 0))))} ~cond := #in~cond; {22884#(or (forall ((v_main_~q~0_BEFORE_CALL_128 Int) (v_main_~s~0_BEFORE_CALL_131 Int) (v_main_~yy~0_BEFORE_CALL_41 Int) (v_main_~x~0_BEFORE_CALL_166 Int) (v_main_~y~0_BEFORE_CALL_171 Int)) (or (and (= (mod (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) v_main_~q~0_BEFORE_CALL_128) 0) (not (= 0 v_main_~q~0_BEFORE_CALL_128))) (and (or (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (not (= (+ (* (- 1) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0))) (not (= |__VERIFIER_assert_#in~cond| 1))) (or (not (= |__VERIFIER_assert_#in~cond| 0)) (forall ((v_main_~xy~0_BEFORE_CALL_31 Int)) (= (+ (* (- 1) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0)))) (= (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) 0))) (= __VERIFIER_assert_~cond 0))} is UNKNOWN [2022-04-08 04:36:19,849 WARN L272 TraceCheckUtils]: 92: Hoare triple {22873#(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)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 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)); {22888#(or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~q~0_BEFORE_CALL_128 Int) (v_main_~xy~0_BEFORE_CALL_31 Int) (v_main_~s~0_BEFORE_CALL_131 Int) (v_main_~yy~0_BEFORE_CALL_41 Int) (v_main_~x~0_BEFORE_CALL_166 Int) (v_main_~y~0_BEFORE_CALL_171 Int)) (or (= (mod (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) v_main_~q~0_BEFORE_CALL_128) 0) (not (= (+ (* (- 1) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) (* v_main_~xy~0_BEFORE_CALL_31 v_main_~q~0_BEFORE_CALL_128) (* v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131)) 0)) (= (+ (* (- 1) v_main_~yy~0_BEFORE_CALL_41 v_main_~s~0_BEFORE_CALL_131) (* v_main_~y~0_BEFORE_CALL_171 (+ (* v_main_~x~0_BEFORE_CALL_166 v_main_~q~0_BEFORE_CALL_128) (* v_main_~y~0_BEFORE_CALL_171 v_main_~s~0_BEFORE_CALL_131)))) 0))))} is UNKNOWN [2022-04-08 04:36:19,850 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {22445#true} {22873#(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)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} #88#return; {22873#(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)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-08 04:36:19,850 INFO L290 TraceCheckUtils]: 90: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:36:19,850 INFO L290 TraceCheckUtils]: 89: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:36:19,850 INFO L290 TraceCheckUtils]: 88: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:36:19,851 INFO L272 TraceCheckUtils]: 87: Hoare triple {22873#(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)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:36:19,851 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {22445#true} {22873#(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)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} #86#return; {22873#(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)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-08 04:36:19,851 INFO L290 TraceCheckUtils]: 85: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:36:19,851 INFO L290 TraceCheckUtils]: 84: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:36:19,851 INFO L290 TraceCheckUtils]: 83: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:36:19,851 INFO L272 TraceCheckUtils]: 82: Hoare triple {22873#(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)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:36:19,852 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {22445#true} {22873#(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)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} #84#return; {22873#(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)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-08 04:36:19,852 INFO L290 TraceCheckUtils]: 80: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:36:19,852 INFO L290 TraceCheckUtils]: 79: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:36:19,852 INFO L290 TraceCheckUtils]: 78: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:36:19,852 INFO L272 TraceCheckUtils]: 77: Hoare triple {22873#(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)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:36:19,854 INFO L290 TraceCheckUtils]: 76: Hoare triple {22873#(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)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} assume !false; {22873#(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)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-08 04:36:19,936 INFO L290 TraceCheckUtils]: 75: Hoare triple {22940#(or (<= (* main_~b~0 2) main_~c~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))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {22873#(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)))) (<= main_~b~0 main_~c~0) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-08 04:36:19,937 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {22445#true} {22940#(or (<= (* main_~b~0 2) main_~c~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))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} #90#return; {22940#(or (<= (* main_~b~0 2) main_~c~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))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-08 04:36:19,938 INFO L290 TraceCheckUtils]: 73: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:36:19,938 INFO L290 TraceCheckUtils]: 72: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:36:19,938 INFO L290 TraceCheckUtils]: 71: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:36:19,938 INFO L272 TraceCheckUtils]: 70: Hoare triple {22940#(or (<= (* main_~b~0 2) main_~c~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))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 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)); {22445#true} is VALID [2022-04-08 04:36:19,939 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {22445#true} {22940#(or (<= (* main_~b~0 2) main_~c~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))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} #88#return; {22940#(or (<= (* main_~b~0 2) main_~c~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))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-08 04:36:19,939 INFO L290 TraceCheckUtils]: 68: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:36:19,939 INFO L290 TraceCheckUtils]: 67: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:36:19,939 INFO L290 TraceCheckUtils]: 66: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:36:19,939 INFO L272 TraceCheckUtils]: 65: Hoare triple {22940#(or (<= (* main_~b~0 2) main_~c~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))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:36:19,940 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} {22974#(or (<= (* main_~b~0 2) main_~c~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))))) (+ main_~c~0 (* (- 1) main_~b~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)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} #86#return; {22940#(or (<= (* main_~b~0 2) main_~c~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))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-08 04:36:19,940 INFO L290 TraceCheckUtils]: 63: Hoare triple {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:36:19,941 INFO L290 TraceCheckUtils]: 62: Hoare triple {22834#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22642#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:36:19,941 INFO L290 TraceCheckUtils]: 61: Hoare triple {22445#true} ~cond := #in~cond; {22834#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:36:19,941 INFO L272 TraceCheckUtils]: 60: Hoare triple {22974#(or (<= (* main_~b~0 2) main_~c~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))))) (+ main_~c~0 (* (- 1) main_~b~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)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:36:19,942 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {22445#true} {22974#(or (<= (* main_~b~0 2) main_~c~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))))) (+ main_~c~0 (* (- 1) main_~b~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)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} #84#return; {22974#(or (<= (* main_~b~0 2) main_~c~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))))) (+ main_~c~0 (* (- 1) main_~b~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)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-08 04:36:19,942 INFO L290 TraceCheckUtils]: 58: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:36:19,942 INFO L290 TraceCheckUtils]: 57: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:36:19,942 INFO L290 TraceCheckUtils]: 56: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:36:19,942 INFO L272 TraceCheckUtils]: 55: Hoare triple {22974#(or (<= (* main_~b~0 2) main_~c~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))))) (+ main_~c~0 (* (- 1) main_~b~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)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:36:19,944 INFO L290 TraceCheckUtils]: 54: Hoare triple {22974#(or (<= (* main_~b~0 2) main_~c~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))))) (+ main_~c~0 (* (- 1) main_~b~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)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} assume !false; {22974#(or (<= (* main_~b~0 2) main_~c~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))))) (+ main_~c~0 (* (- 1) main_~b~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)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-08 04:36:19,945 INFO L290 TraceCheckUtils]: 53: Hoare triple {22445#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22974#(or (<= (* main_~b~0 2) main_~c~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))))) (+ main_~c~0 (* (- 1) main_~b~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)))) (and (not (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) 0)) (or (not (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~s~0 main_~yy~0) (* main_~y~0 main_~s~0)) main_~q~0) 0)) (= main_~q~0 0))))} is VALID [2022-04-08 04:36:19,945 INFO L290 TraceCheckUtils]: 52: Hoare triple {22445#true} assume !false; {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L290 TraceCheckUtils]: 51: Hoare triple {22445#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; {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L290 TraceCheckUtils]: 50: Hoare triple {22445#true} assume !(~c~0 >= ~b~0); {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {22445#true} {22445#true} #90#return; {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L290 TraceCheckUtils]: 48: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L290 TraceCheckUtils]: 47: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L290 TraceCheckUtils]: 46: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L272 TraceCheckUtils]: 45: Hoare triple {22445#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)); {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {22445#true} {22445#true} #88#return; {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L290 TraceCheckUtils]: 43: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L290 TraceCheckUtils]: 42: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L290 TraceCheckUtils]: 41: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L272 TraceCheckUtils]: 40: Hoare triple {22445#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {22445#true} {22445#true} #86#return; {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L290 TraceCheckUtils]: 38: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L290 TraceCheckUtils]: 37: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L290 TraceCheckUtils]: 36: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:36:19,946 INFO L272 TraceCheckUtils]: 35: Hoare triple {22445#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {22445#true} {22445#true} #84#return; {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L290 TraceCheckUtils]: 33: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L290 TraceCheckUtils]: 32: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L290 TraceCheckUtils]: 31: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L272 TraceCheckUtils]: 30: Hoare triple {22445#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L290 TraceCheckUtils]: 29: Hoare triple {22445#true} assume !false; {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L290 TraceCheckUtils]: 28: Hoare triple {22445#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L290 TraceCheckUtils]: 27: Hoare triple {22445#true} assume !false; {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22445#true} {22445#true} #82#return; {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L290 TraceCheckUtils]: 25: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L290 TraceCheckUtils]: 24: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L290 TraceCheckUtils]: 23: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L272 TraceCheckUtils]: 22: Hoare triple {22445#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22445#true} {22445#true} #80#return; {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L290 TraceCheckUtils]: 20: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L290 TraceCheckUtils]: 19: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L290 TraceCheckUtils]: 18: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L272 TraceCheckUtils]: 17: Hoare triple {22445#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:36:19,947 INFO L290 TraceCheckUtils]: 16: Hoare triple {22445#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; {22445#true} is VALID [2022-04-08 04:36:19,948 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22445#true} {22445#true} #78#return; {22445#true} is VALID [2022-04-08 04:36:19,948 INFO L290 TraceCheckUtils]: 14: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:36:19,948 INFO L290 TraceCheckUtils]: 13: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:36:19,948 INFO L290 TraceCheckUtils]: 12: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:36:19,948 INFO L272 TraceCheckUtils]: 11: Hoare triple {22445#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:36:19,948 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22445#true} {22445#true} #76#return; {22445#true} is VALID [2022-04-08 04:36:19,948 INFO L290 TraceCheckUtils]: 9: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:36:19,948 INFO L290 TraceCheckUtils]: 8: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 04:36:19,948 INFO L290 TraceCheckUtils]: 7: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 04:36:19,948 INFO L272 TraceCheckUtils]: 6: Hoare triple {22445#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22445#true} is VALID [2022-04-08 04:36:19,948 INFO L290 TraceCheckUtils]: 5: Hoare triple {22445#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; {22445#true} is VALID [2022-04-08 04:36:19,948 INFO L272 TraceCheckUtils]: 4: Hoare triple {22445#true} call #t~ret6 := main(); {22445#true} is VALID [2022-04-08 04:36:19,948 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22445#true} {22445#true} #96#return; {22445#true} is VALID [2022-04-08 04:36:19,948 INFO L290 TraceCheckUtils]: 2: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 04:36:19,948 INFO L290 TraceCheckUtils]: 1: Hoare triple {22445#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); {22445#true} is VALID [2022-04-08 04:36:19,948 INFO L272 TraceCheckUtils]: 0: Hoare triple {22445#true} call ULTIMATE.init(); {22445#true} is VALID [2022-04-08 04:36:19,949 INFO L134 CoverageAnalysis]: Checked inductivity of 453 backedges. 135 proven. 36 refuted. 5 times theorem prover too weak. 272 trivial. 5 not checked. [2022-04-08 04:36:19,949 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:36:19,949 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1749998457] [2022-04-08 04:36:19,949 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:36:19,949 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [297458114] [2022-04-08 04:36:19,949 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [297458114] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:36:19,949 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:36:19,949 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 16] total 29 [2022-04-08 04:36:19,950 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:36:19,950 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [92133025] [2022-04-08 04:36:19,950 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [92133025] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:36:19,950 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:36:19,950 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-08 04:36:19,950 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1833399643] [2022-04-08 04:36:19,950 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:36:19,950 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) Word has length 116 [2022-04-08 04:36:19,951 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:36:19,951 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-08 04:36:22,508 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 70 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:36:22,508 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-08 04:36:22,508 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:36:22,508 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-08 04:36:22,509 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=595, Unknown=8, NotChecked=102, Total=812 [2022-04-08 04:36:22,509 INFO L87 Difference]: Start difference. First operand 255 states and 345 transitions. Second operand has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-08 04:36:47,735 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:36:50,696 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.80s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:36:52,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:36:52,111 INFO L93 Difference]: Finished difference Result 280 states and 365 transitions. [2022-04-08 04:36:52,111 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 04:36:52,112 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) Word has length 116 [2022-04-08 04:36:52,112 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:36:52,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-08 04:36:52,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 132 transitions. [2022-04-08 04:36:52,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-08 04:36:52,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 132 transitions. [2022-04-08 04:36:52,115 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 132 transitions. [2022-04-08 04:36:52,424 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 132 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:36:52,429 INFO L225 Difference]: With dead ends: 280 [2022-04-08 04:36:52,429 INFO L226 Difference]: Without dead ends: 278 [2022-04-08 04:36:52,430 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 240 GetRequests, 202 SyntacticMatches, 2 SemanticMatches, 36 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 207 ImplicationChecksByTransitivity, 27.8s TimeCoverageRelationStatistics Valid=183, Invalid=1075, Unknown=10, NotChecked=138, Total=1406 [2022-04-08 04:36:52,430 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 36 mSDsluCounter, 329 mSDsCounter, 0 mSdLazyCounter, 1080 mSolverCounterSat, 42 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 10.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 378 SdHoareTripleChecker+Invalid, 1123 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 1080 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 10.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:36:52,430 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [49 Valid, 378 Invalid, 1123 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 1080 Invalid, 1 Unknown, 0 Unchecked, 10.2s Time] [2022-04-08 04:36:52,431 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 278 states. [2022-04-08 04:36:53,150 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 278 to 275. [2022-04-08 04:36:53,150 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:36:53,151 INFO L82 GeneralOperation]: Start isEquivalent. First operand 278 states. Second operand has 275 states, 150 states have (on average 1.1266666666666667) internal successors, (169), 152 states have internal predecessors, (169), 97 states have call successors, (97), 28 states have call predecessors, (97), 27 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) [2022-04-08 04:36:53,151 INFO L74 IsIncluded]: Start isIncluded. First operand 278 states. Second operand has 275 states, 150 states have (on average 1.1266666666666667) internal successors, (169), 152 states have internal predecessors, (169), 97 states have call successors, (97), 28 states have call predecessors, (97), 27 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) [2022-04-08 04:36:53,152 INFO L87 Difference]: Start difference. First operand 278 states. Second operand has 275 states, 150 states have (on average 1.1266666666666667) internal successors, (169), 152 states have internal predecessors, (169), 97 states have call successors, (97), 28 states have call predecessors, (97), 27 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) [2022-04-08 04:36:53,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:36:53,157 INFO L93 Difference]: Finished difference Result 278 states and 363 transitions. [2022-04-08 04:36:53,157 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 363 transitions. [2022-04-08 04:36:53,157 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:36:53,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:36:53,158 INFO L74 IsIncluded]: Start isIncluded. First operand has 275 states, 150 states have (on average 1.1266666666666667) internal successors, (169), 152 states have internal predecessors, (169), 97 states have call successors, (97), 28 states have call predecessors, (97), 27 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) Second operand 278 states. [2022-04-08 04:36:53,158 INFO L87 Difference]: Start difference. First operand has 275 states, 150 states have (on average 1.1266666666666667) internal successors, (169), 152 states have internal predecessors, (169), 97 states have call successors, (97), 28 states have call predecessors, (97), 27 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) Second operand 278 states. [2022-04-08 04:36:53,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:36:53,164 INFO L93 Difference]: Finished difference Result 278 states and 363 transitions. [2022-04-08 04:36:53,164 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 363 transitions. [2022-04-08 04:36:53,164 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:36:53,164 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:36:53,164 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:36:53,164 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:36:53,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 275 states, 150 states have (on average 1.1266666666666667) internal successors, (169), 152 states have internal predecessors, (169), 97 states have call successors, (97), 28 states have call predecessors, (97), 27 states have return successors, (94), 94 states have call predecessors, (94), 94 states have call successors, (94) [2022-04-08 04:36:53,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 275 states to 275 states and 360 transitions. [2022-04-08 04:36:53,170 INFO L78 Accepts]: Start accepts. Automaton has 275 states and 360 transitions. Word has length 116 [2022-04-08 04:36:53,170 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:36:53,170 INFO L478 AbstractCegarLoop]: Abstraction has 275 states and 360 transitions. [2022-04-08 04:36:53,171 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-08 04:36:53,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 275 states and 360 transitions. [2022-04-08 04:36:53,892 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 360 edges. 360 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:36:53,892 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 360 transitions. [2022-04-08 04:36:53,893 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2022-04-08 04:36:53,893 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:36:53,893 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:36:53,910 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-08 04:36:54,093 WARN L460 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-08 04:36:54,094 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:36:54,094 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:36:54,094 INFO L85 PathProgramCache]: Analyzing trace with hash -1515779717, now seen corresponding path program 7 times [2022-04-08 04:36:54,094 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:36:54,094 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1864077010] [2022-04-08 04:36:54,095 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:36:54,095 INFO L85 PathProgramCache]: Analyzing trace with hash -1515779717, now seen corresponding path program 8 times [2022-04-08 04:36:54,095 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:36:54,095 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1636469644] [2022-04-08 04:36:54,095 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:36:54,095 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:36:54,103 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:36:54,103 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [237423527] [2022-04-08 04:36:54,103 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:36:54,104 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:36:54,104 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:36:54,104 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-08 04:36:54,120 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-08 04:36:54,185 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:36:54,185 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:36:54,187 INFO L263 TraceCheckSpWp]: Trace formula consists of 288 conjuncts, 82 conjunts are in the unsatisfiable core [2022-04-08 04:36:54,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:36:54,212 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:36:57,717 INFO L272 TraceCheckUtils]: 0: Hoare triple {24853#true} call ULTIMATE.init(); {24853#true} is VALID [2022-04-08 04:36:57,717 INFO L290 TraceCheckUtils]: 1: Hoare triple {24853#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); {24853#true} is VALID [2022-04-08 04:36:57,717 INFO L290 TraceCheckUtils]: 2: Hoare triple {24853#true} assume true; {24853#true} is VALID [2022-04-08 04:36:57,717 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24853#true} {24853#true} #96#return; {24853#true} is VALID [2022-04-08 04:36:57,717 INFO L272 TraceCheckUtils]: 4: Hoare triple {24853#true} call #t~ret6 := main(); {24853#true} is VALID [2022-04-08 04:36:57,717 INFO L290 TraceCheckUtils]: 5: Hoare triple {24853#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; {24853#true} is VALID [2022-04-08 04:36:57,717 INFO L272 TraceCheckUtils]: 6: Hoare triple {24853#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {24853#true} is VALID [2022-04-08 04:36:57,717 INFO L290 TraceCheckUtils]: 7: Hoare triple {24853#true} ~cond := #in~cond; {24853#true} is VALID [2022-04-08 04:36:57,717 INFO L290 TraceCheckUtils]: 8: Hoare triple {24853#true} assume !(0 == ~cond); {24853#true} is VALID [2022-04-08 04:36:57,717 INFO L290 TraceCheckUtils]: 9: Hoare triple {24853#true} assume true; {24853#true} is VALID [2022-04-08 04:36:57,717 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24853#true} {24853#true} #76#return; {24853#true} is VALID [2022-04-08 04:36:57,718 INFO L272 TraceCheckUtils]: 11: Hoare triple {24853#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {24853#true} is VALID [2022-04-08 04:36:57,718 INFO L290 TraceCheckUtils]: 12: Hoare triple {24853#true} ~cond := #in~cond; {24894#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:36:57,718 INFO L290 TraceCheckUtils]: 13: Hoare triple {24894#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {24898#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:36:57,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {24898#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {24898#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:36:57,719 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {24898#(not (= |assume_abort_if_not_#in~cond| 0))} {24853#true} #78#return; {24905#(<= 1 main_~y~0)} is VALID [2022-04-08 04:36:57,719 INFO L290 TraceCheckUtils]: 16: Hoare triple {24905#(<= 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; {24909#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,719 INFO L272 TraceCheckUtils]: 17: Hoare triple {24909#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {24853#true} is VALID [2022-04-08 04:36:57,719 INFO L290 TraceCheckUtils]: 18: Hoare triple {24853#true} ~cond := #in~cond; {24853#true} is VALID [2022-04-08 04:36:57,719 INFO L290 TraceCheckUtils]: 19: Hoare triple {24853#true} assume !(0 == ~cond); {24853#true} is VALID [2022-04-08 04:36:57,719 INFO L290 TraceCheckUtils]: 20: Hoare triple {24853#true} assume true; {24853#true} is VALID [2022-04-08 04:36:57,720 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {24853#true} {24909#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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) (= main_~p~0 1))} #80#return; {24909#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,720 INFO L272 TraceCheckUtils]: 22: Hoare triple {24909#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {24853#true} is VALID [2022-04-08 04:36:57,720 INFO L290 TraceCheckUtils]: 23: Hoare triple {24853#true} ~cond := #in~cond; {24853#true} is VALID [2022-04-08 04:36:57,720 INFO L290 TraceCheckUtils]: 24: Hoare triple {24853#true} assume !(0 == ~cond); {24853#true} is VALID [2022-04-08 04:36:57,720 INFO L290 TraceCheckUtils]: 25: Hoare triple {24853#true} assume true; {24853#true} is VALID [2022-04-08 04:36:57,721 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {24853#true} {24909#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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) (= main_~p~0 1))} #82#return; {24909#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,721 INFO L290 TraceCheckUtils]: 27: Hoare triple {24909#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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) (= main_~p~0 1))} assume !false; {24909#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,721 INFO L290 TraceCheckUtils]: 28: Hoare triple {24909#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {24946#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,722 INFO L290 TraceCheckUtils]: 29: Hoare triple {24946#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {24946#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,722 INFO L272 TraceCheckUtils]: 30: Hoare triple {24946#(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) (<= 1 main_~y~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)); {24853#true} is VALID [2022-04-08 04:36:57,722 INFO L290 TraceCheckUtils]: 31: Hoare triple {24853#true} ~cond := #in~cond; {24853#true} is VALID [2022-04-08 04:36:57,722 INFO L290 TraceCheckUtils]: 32: Hoare triple {24853#true} assume !(0 == ~cond); {24853#true} is VALID [2022-04-08 04:36:57,722 INFO L290 TraceCheckUtils]: 33: Hoare triple {24853#true} assume true; {24853#true} is VALID [2022-04-08 04:36:57,723 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {24853#true} {24946#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {24946#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,723 INFO L272 TraceCheckUtils]: 35: Hoare triple {24946#(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) (<= 1 main_~y~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)); {24853#true} is VALID [2022-04-08 04:36:57,723 INFO L290 TraceCheckUtils]: 36: Hoare triple {24853#true} ~cond := #in~cond; {24971#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:36:57,723 INFO L290 TraceCheckUtils]: 37: Hoare triple {24971#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:36:57,724 INFO L290 TraceCheckUtils]: 38: Hoare triple {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:36:57,724 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} {24946#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {24946#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,724 INFO L272 TraceCheckUtils]: 40: Hoare triple {24946#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {24853#true} is VALID [2022-04-08 04:36:57,724 INFO L290 TraceCheckUtils]: 41: Hoare triple {24853#true} ~cond := #in~cond; {24853#true} is VALID [2022-04-08 04:36:57,724 INFO L290 TraceCheckUtils]: 42: Hoare triple {24853#true} assume !(0 == ~cond); {24853#true} is VALID [2022-04-08 04:36:57,724 INFO L290 TraceCheckUtils]: 43: Hoare triple {24853#true} assume true; {24853#true} is VALID [2022-04-08 04:36:57,725 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {24853#true} {24946#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {24946#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,725 INFO L272 TraceCheckUtils]: 45: Hoare triple {24946#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {24853#true} is VALID [2022-04-08 04:36:57,725 INFO L290 TraceCheckUtils]: 46: Hoare triple {24853#true} ~cond := #in~cond; {24853#true} is VALID [2022-04-08 04:36:57,725 INFO L290 TraceCheckUtils]: 47: Hoare triple {24853#true} assume !(0 == ~cond); {24853#true} is VALID [2022-04-08 04:36:57,725 INFO L290 TraceCheckUtils]: 48: Hoare triple {24853#true} assume true; {24853#true} is VALID [2022-04-08 04:36:57,726 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {24853#true} {24946#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #90#return; {24946#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,726 INFO L290 TraceCheckUtils]: 50: Hoare triple {24946#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~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; {25015#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,727 INFO L290 TraceCheckUtils]: 51: Hoare triple {25015#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {25015#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,727 INFO L272 TraceCheckUtils]: 52: Hoare triple {25015#(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) (<= 1 main_~y~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)); {24853#true} is VALID [2022-04-08 04:36:57,727 INFO L290 TraceCheckUtils]: 53: Hoare triple {24853#true} ~cond := #in~cond; {24853#true} is VALID [2022-04-08 04:36:57,727 INFO L290 TraceCheckUtils]: 54: Hoare triple {24853#true} assume !(0 == ~cond); {24853#true} is VALID [2022-04-08 04:36:57,727 INFO L290 TraceCheckUtils]: 55: Hoare triple {24853#true} assume true; {24853#true} is VALID [2022-04-08 04:36:57,729 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {24853#true} {25015#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #84#return; {25015#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,729 INFO L272 TraceCheckUtils]: 57: Hoare triple {25015#(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) (<= 1 main_~y~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)); {24853#true} is VALID [2022-04-08 04:36:57,729 INFO L290 TraceCheckUtils]: 58: Hoare triple {24853#true} ~cond := #in~cond; {24853#true} is VALID [2022-04-08 04:36:57,729 INFO L290 TraceCheckUtils]: 59: Hoare triple {24853#true} assume !(0 == ~cond); {24853#true} is VALID [2022-04-08 04:36:57,729 INFO L290 TraceCheckUtils]: 60: Hoare triple {24853#true} assume true; {24853#true} is VALID [2022-04-08 04:36:57,729 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {24853#true} {25015#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #86#return; {25015#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,729 INFO L272 TraceCheckUtils]: 62: Hoare triple {25015#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {24853#true} is VALID [2022-04-08 04:36:57,730 INFO L290 TraceCheckUtils]: 63: Hoare triple {24853#true} ~cond := #in~cond; {24853#true} is VALID [2022-04-08 04:36:57,730 INFO L290 TraceCheckUtils]: 64: Hoare triple {24853#true} assume !(0 == ~cond); {24853#true} is VALID [2022-04-08 04:36:57,730 INFO L290 TraceCheckUtils]: 65: Hoare triple {24853#true} assume true; {24853#true} is VALID [2022-04-08 04:36:57,730 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {24853#true} {25015#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #88#return; {25015#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,730 INFO L272 TraceCheckUtils]: 67: Hoare triple {25015#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {24853#true} is VALID [2022-04-08 04:36:57,730 INFO L290 TraceCheckUtils]: 68: Hoare triple {24853#true} ~cond := #in~cond; {24853#true} is VALID [2022-04-08 04:36:57,730 INFO L290 TraceCheckUtils]: 69: Hoare triple {24853#true} assume !(0 == ~cond); {24853#true} is VALID [2022-04-08 04:36:57,730 INFO L290 TraceCheckUtils]: 70: Hoare triple {24853#true} assume true; {24853#true} is VALID [2022-04-08 04:36:57,731 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {24853#true} {25015#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #90#return; {25015#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,733 INFO L290 TraceCheckUtils]: 72: Hoare triple {25015#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~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; {25082#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,733 INFO L290 TraceCheckUtils]: 73: Hoare triple {25082#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} assume !false; {25082#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,733 INFO L272 TraceCheckUtils]: 74: Hoare triple {25082#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {24853#true} is VALID [2022-04-08 04:36:57,734 INFO L290 TraceCheckUtils]: 75: Hoare triple {24853#true} ~cond := #in~cond; {24971#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:36:57,734 INFO L290 TraceCheckUtils]: 76: Hoare triple {24971#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:36:57,734 INFO L290 TraceCheckUtils]: 77: Hoare triple {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:36:57,736 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} {25082#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} #84#return; {25101#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,736 INFO L272 TraceCheckUtils]: 79: Hoare triple {25101#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~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)); {24853#true} is VALID [2022-04-08 04:36:57,736 INFO L290 TraceCheckUtils]: 80: Hoare triple {24853#true} ~cond := #in~cond; {24853#true} is VALID [2022-04-08 04:36:57,736 INFO L290 TraceCheckUtils]: 81: Hoare triple {24853#true} assume !(0 == ~cond); {24853#true} is VALID [2022-04-08 04:36:57,736 INFO L290 TraceCheckUtils]: 82: Hoare triple {24853#true} assume true; {24853#true} is VALID [2022-04-08 04:36:57,737 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {24853#true} {25101#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #86#return; {25101#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,737 INFO L272 TraceCheckUtils]: 84: Hoare triple {25101#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~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)); {24853#true} is VALID [2022-04-08 04:36:57,737 INFO L290 TraceCheckUtils]: 85: Hoare triple {24853#true} ~cond := #in~cond; {24971#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:36:57,737 INFO L290 TraceCheckUtils]: 86: Hoare triple {24971#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:36:57,737 INFO L290 TraceCheckUtils]: 87: Hoare triple {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:36:57,738 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} {25101#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #88#return; {25101#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,738 INFO L272 TraceCheckUtils]: 89: Hoare triple {25101#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~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)); {24853#true} is VALID [2022-04-08 04:36:57,738 INFO L290 TraceCheckUtils]: 90: Hoare triple {24853#true} ~cond := #in~cond; {24971#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:36:57,739 INFO L290 TraceCheckUtils]: 91: Hoare triple {24971#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:36:57,739 INFO L290 TraceCheckUtils]: 92: Hoare triple {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:36:57,740 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} {25101#(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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} #90#return; {25147#(and (= main_~r~0 0) (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,740 INFO L290 TraceCheckUtils]: 94: Hoare triple {25147#(and (= main_~r~0 0) (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~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) (<= 1 main_~y~0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {25151#(and (= main_~r~0 0) (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~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_~xy~0 (* main_~y~0 main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-08 04:36:57,743 INFO L290 TraceCheckUtils]: 95: Hoare triple {25151#(and (= main_~r~0 0) (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~s~0 main_~yy~0) main_~b~0 (* main_~q~0 main_~xy~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_~xy~0 (* main_~y~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; {25155#(and (= main_~p~0 0) (< (+ main_~x~0 (* main_~a~0 main_~s~0)) main_~a~0) (= (* main_~a~0 (* (- 1) main_~s~0)) (* main_~a~0 2)) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= (+ main_~a~0 (* main_~p~0 main_~xy~0) main_~yy~0) (+ main_~y~0 (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:36:57,744 INFO L290 TraceCheckUtils]: 96: Hoare triple {25155#(and (= main_~p~0 0) (< (+ main_~x~0 (* main_~a~0 main_~s~0)) main_~a~0) (= (* main_~a~0 (* (- 1) main_~s~0)) (* main_~a~0 2)) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= (+ main_~a~0 (* main_~p~0 main_~xy~0) main_~yy~0) (+ main_~y~0 (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {25155#(and (= main_~p~0 0) (< (+ main_~x~0 (* main_~a~0 main_~s~0)) main_~a~0) (= (* main_~a~0 (* (- 1) main_~s~0)) (* main_~a~0 2)) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= (+ main_~a~0 (* main_~p~0 main_~xy~0) main_~yy~0) (+ main_~y~0 (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:36:57,745 INFO L290 TraceCheckUtils]: 97: Hoare triple {25155#(and (= main_~p~0 0) (< (+ main_~x~0 (* main_~a~0 main_~s~0)) main_~a~0) (= (* main_~a~0 (* (- 1) main_~s~0)) (* main_~a~0 2)) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= (+ main_~a~0 (* main_~p~0 main_~xy~0) main_~yy~0) (+ main_~y~0 (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {25155#(and (= main_~p~0 0) (< (+ main_~x~0 (* main_~a~0 main_~s~0)) main_~a~0) (= (* main_~a~0 (* (- 1) main_~s~0)) (* main_~a~0 2)) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= (+ main_~a~0 (* main_~p~0 main_~xy~0) main_~yy~0) (+ main_~y~0 (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:36:57,745 INFO L290 TraceCheckUtils]: 98: Hoare triple {25155#(and (= main_~p~0 0) (< (+ main_~x~0 (* main_~a~0 main_~s~0)) main_~a~0) (= (* main_~a~0 (* (- 1) main_~s~0)) (* main_~a~0 2)) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= (+ main_~a~0 (* main_~p~0 main_~xy~0) main_~yy~0) (+ main_~y~0 (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {25155#(and (= main_~p~0 0) (< (+ main_~x~0 (* main_~a~0 main_~s~0)) main_~a~0) (= (* main_~a~0 (* (- 1) main_~s~0)) (* main_~a~0 2)) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= (+ main_~a~0 (* main_~p~0 main_~xy~0) main_~yy~0) (+ main_~y~0 (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:36:57,745 INFO L272 TraceCheckUtils]: 99: Hoare triple {25155#(and (= main_~p~0 0) (< (+ main_~x~0 (* main_~a~0 main_~s~0)) main_~a~0) (= (* main_~a~0 (* (- 1) main_~s~0)) (* main_~a~0 2)) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= (+ main_~a~0 (* main_~p~0 main_~xy~0) main_~yy~0) (+ main_~y~0 (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~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)); {24853#true} is VALID [2022-04-08 04:36:57,745 INFO L290 TraceCheckUtils]: 100: Hoare triple {24853#true} ~cond := #in~cond; {24853#true} is VALID [2022-04-08 04:36:57,745 INFO L290 TraceCheckUtils]: 101: Hoare triple {24853#true} assume !(0 == ~cond); {24853#true} is VALID [2022-04-08 04:36:57,745 INFO L290 TraceCheckUtils]: 102: Hoare triple {24853#true} assume true; {24853#true} is VALID [2022-04-08 04:36:57,746 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {24853#true} {25155#(and (= main_~p~0 0) (< (+ main_~x~0 (* main_~a~0 main_~s~0)) main_~a~0) (= (* main_~a~0 (* (- 1) main_~s~0)) (* main_~a~0 2)) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= (+ main_~a~0 (* main_~p~0 main_~xy~0) main_~yy~0) (+ main_~y~0 (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #84#return; {25155#(and (= main_~p~0 0) (< (+ main_~x~0 (* main_~a~0 main_~s~0)) main_~a~0) (= (* main_~a~0 (* (- 1) main_~s~0)) (* main_~a~0 2)) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= (+ main_~a~0 (* main_~p~0 main_~xy~0) main_~yy~0) (+ main_~y~0 (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:36:57,746 INFO L272 TraceCheckUtils]: 104: Hoare triple {25155#(and (= main_~p~0 0) (< (+ main_~x~0 (* main_~a~0 main_~s~0)) main_~a~0) (= (* main_~a~0 (* (- 1) main_~s~0)) (* main_~a~0 2)) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= (+ main_~a~0 (* main_~p~0 main_~xy~0) main_~yy~0) (+ main_~y~0 (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~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)); {24853#true} is VALID [2022-04-08 04:36:57,746 INFO L290 TraceCheckUtils]: 105: Hoare triple {24853#true} ~cond := #in~cond; {24971#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:36:57,747 INFO L290 TraceCheckUtils]: 106: Hoare triple {24971#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:36:57,747 INFO L290 TraceCheckUtils]: 107: Hoare triple {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:36:57,749 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} {25155#(and (= main_~p~0 0) (< (+ main_~x~0 (* main_~a~0 main_~s~0)) main_~a~0) (= (* main_~a~0 (* (- 1) main_~s~0)) (* main_~a~0 2)) (= main_~b~0 (+ main_~x~0 (* main_~a~0 main_~s~0))) (= (+ main_~a~0 (* main_~p~0 main_~xy~0) main_~yy~0) (+ main_~y~0 (* main_~a~0 main_~y~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= (* main_~a~0 2) main_~x~0) (= (+ main_~q~0 (* main_~p~0 (* (- 1) main_~s~0))) 1) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #86#return; {25195#(and (<= (* main_~y~0 2) main_~x~0) (= (+ main_~y~0 main_~yy~0) (+ main_~y~0 (* main_~y~0 main_~y~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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:36:57,749 INFO L272 TraceCheckUtils]: 109: Hoare triple {25195#(and (<= (* main_~y~0 2) main_~x~0) (= (+ main_~y~0 main_~yy~0) (+ main_~y~0 (* main_~y~0 main_~y~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) (= 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)); {24853#true} is VALID [2022-04-08 04:36:57,749 INFO L290 TraceCheckUtils]: 110: Hoare triple {24853#true} ~cond := #in~cond; {24971#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:36:57,750 INFO L290 TraceCheckUtils]: 111: Hoare triple {24971#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:36:57,750 INFO L290 TraceCheckUtils]: 112: Hoare triple {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:36:57,750 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {24975#(not (= |__VERIFIER_assert_#in~cond| 0))} {25195#(and (<= (* main_~y~0 2) main_~x~0) (= (+ main_~y~0 main_~yy~0) (+ main_~y~0 (* main_~y~0 main_~y~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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #88#return; {25195#(and (<= (* main_~y~0 2) main_~x~0) (= (+ main_~y~0 main_~yy~0) (+ main_~y~0 (* main_~y~0 main_~y~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) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-08 04:36:57,753 INFO L272 TraceCheckUtils]: 114: Hoare triple {25195#(and (<= (* main_~y~0 2) main_~x~0) (= (+ main_~y~0 main_~yy~0) (+ main_~y~0 (* main_~y~0 main_~y~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) (= 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)); {25214#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:36:57,753 INFO L290 TraceCheckUtils]: 115: Hoare triple {25214#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25218#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:36:57,753 INFO L290 TraceCheckUtils]: 116: Hoare triple {25218#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {24854#false} is VALID [2022-04-08 04:36:57,753 INFO L290 TraceCheckUtils]: 117: Hoare triple {24854#false} assume !false; {24854#false} is VALID [2022-04-08 04:36:57,754 INFO L134 CoverageAnalysis]: Checked inductivity of 509 backedges. 153 proven. 83 refuted. 0 times theorem prover too weak. 273 trivial. 0 not checked. [2022-04-08 04:36:57,754 INFO L328 TraceCheckSpWp]: Computing backward predicates...