/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench/egcd2-ll.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 10:44:00,778 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 10:44:00,780 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 10:44:00,806 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 10:44:00,807 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 10:44:00,808 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 10:44:00,809 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 10:44:00,811 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 10:44:00,813 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 10:44:00,813 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 10:44:00,814 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 10:44:00,815 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 10:44:00,816 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 10:44:00,816 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 10:44:00,817 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 10:44:00,818 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 10:44:00,819 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 10:44:00,820 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 10:44:00,821 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 10:44:00,823 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 10:44:00,824 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 10:44:00,828 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 10:44:00,829 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 10:44:00,830 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 10:44:00,830 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 10:44:00,833 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 10:44:00,833 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 10:44:00,833 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 10:44:00,834 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 10:44:00,834 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 10:44:00,835 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 10:44:00,835 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 10:44:00,836 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 10:44:00,836 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 10:44:00,837 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 10:44:00,838 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 10:44:00,838 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 10:44:00,838 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 10:44:00,839 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 10:44:00,839 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 10:44:00,840 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 10:44:00,849 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 10:44:00,850 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 10:44:00,858 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 10:44:00,858 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 10:44:00,866 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 10:44:00,866 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 10:44:00,866 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 10:44:00,866 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 10:44:00,866 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 10:44:00,867 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 10:44:00,867 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 10:44:00,867 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 10:44:00,868 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 10:44:00,868 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 10:44:00,868 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 10:44:00,868 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 10:44:00,868 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 10:44:00,868 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 10:44:00,868 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 10:44:00,868 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 10:44:00,869 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 10:44:00,869 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 10:44:00,869 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 10:44:00,869 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 10:44:00,869 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 10:44:01,114 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 10:44:01,143 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 10:44:01,145 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 10:44:01,146 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 10:44:01,146 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 10:44:01,147 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 10:44:01,222 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/af21fe7a4/3ab98265a9574656b7f72b9d910333fe/FLAG0f8614dbb [2022-04-08 10:44:01,651 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 10:44:01,651 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/egcd2-ll.c [2022-04-08 10:44:01,657 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/af21fe7a4/3ab98265a9574656b7f72b9d910333fe/FLAG0f8614dbb [2022-04-08 10:44:02,070 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/af21fe7a4/3ab98265a9574656b7f72b9d910333fe [2022-04-08 10:44:02,073 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 10:44:02,074 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 10:44:02,078 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 10:44:02,079 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 10:44:02,082 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 10:44:02,084 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 10:44:02" (1/1) ... [2022-04-08 10:44:02,085 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@425b776c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:44:02, skipping insertion in model container [2022-04-08 10:44:02,086 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 10:44:02" (1/1) ... [2022-04-08 10:44:02,092 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 10:44:02,108 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 10:44:02,260 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 10:44:02,286 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 10:44:02,295 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 10:44:02,305 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 10:44:02,315 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 10:44:02,327 INFO L208 MainTranslator]: Completed translation [2022-04-08 10:44:02,327 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:44:02 WrapperNode [2022-04-08 10:44:02,328 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 10:44:02,328 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 10:44:02,329 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 10:44:02,329 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 10:44:02,342 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:44:02" (1/1) ... [2022-04-08 10:44:02,342 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:44:02" (1/1) ... [2022-04-08 10:44:02,359 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:44:02" (1/1) ... [2022-04-08 10:44:02,360 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:44:02" (1/1) ... [2022-04-08 10:44:02,373 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:44:02" (1/1) ... [2022-04-08 10:44:02,377 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:44:02" (1/1) ... [2022-04-08 10:44:02,379 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:44:02" (1/1) ... [2022-04-08 10:44:02,381 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 10:44:02,381 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 10:44:02,382 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 10:44:02,382 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 10:44:02,383 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:44:02" (1/1) ... [2022-04-08 10:44:02,394 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 10:44:02,406 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:44:02,418 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 10:44:02,428 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 10:44:02,448 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 10:44:02,448 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 10:44:02,448 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 10:44:02,449 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 10:44:02,449 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 10:44:02,449 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 10:44:02,449 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 10:44:02,449 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 10:44:02,449 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 10:44:02,449 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 10:44:02,449 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 10:44:02,450 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 10:44:02,450 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 10:44:02,450 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 10:44:02,450 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 10:44:02,450 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 10:44:02,450 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 10:44:02,450 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 10:44:02,450 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 10:44:02,451 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 10:44:02,503 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 10:44:02,504 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 10:44:02,734 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 10:44:02,741 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 10:44:02,742 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 10:44:02,744 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 10:44:02 BoogieIcfgContainer [2022-04-08 10:44:02,744 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 10:44:02,749 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 10:44:02,749 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 10:44:02,752 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 10:44:02,753 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 10:44:02" (1/3) ... [2022-04-08 10:44:02,753 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@446b4783 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 10:44:02, skipping insertion in model container [2022-04-08 10:44:02,754 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:44:02" (2/3) ... [2022-04-08 10:44:02,754 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@446b4783 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 10:44:02, skipping insertion in model container [2022-04-08 10:44:02,754 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 10:44:02" (3/3) ... [2022-04-08 10:44:02,755 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll.c [2022-04-08 10:44:02,760 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 10:44:02,761 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 10:44:02,797 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 10:44:02,803 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 10:44:02,804 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 10:44:02,823 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 10:44:02,833 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 10:44:02,833 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:44:02,834 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 10:44:02,835 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:44:02,845 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:44:02,845 INFO L85 PathProgramCache]: Analyzing trace with hash 1872307417, now seen corresponding path program 1 times [2022-04-08 10:44:02,859 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:44:02,861 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [839652414] [2022-04-08 10:44:02,874 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:44:02,874 INFO L85 PathProgramCache]: Analyzing trace with hash 1872307417, now seen corresponding path program 2 times [2022-04-08 10:44:02,878 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:44:02,879 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [279129569] [2022-04-08 10:44:02,879 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:44:02,881 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:44:03,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:44:03,099 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:44:03,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:44:03,134 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 10:44:03,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 10:44:03,135 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-08 10:44:03,136 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 10:44:03,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:44:03,147 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 10:44:03,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 10:44:03,149 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 10:44:03,149 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #76#return; {41#false} is VALID [2022-04-08 10:44:03,150 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 10:44:03,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:44:03,162 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 10:44:03,162 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 10:44:03,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 10:44:03,164 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #78#return; {41#false} is VALID [2022-04-08 10:44:03,164 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 10:44:03,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:44:03,178 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 10:44:03,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 10:44:03,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 10:44:03,181 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #80#return; {41#false} is VALID [2022-04-08 10:44:03,181 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 10:44:03,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:44:03,198 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 10:44:03,199 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 10:44:03,200 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 10:44:03,200 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #82#return; {41#false} is VALID [2022-04-08 10:44:03,201 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 10:44:03,202 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 10:44:03,203 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 10:44:03,204 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-08 10:44:03,204 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-08 10:44:03,205 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 10:44:03,205 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 10:44:03,206 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 10:44:03,207 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 10:44:03,207 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 10:44:03,207 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #76#return; {41#false} is VALID [2022-04-08 10:44:03,207 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 10:44:03,208 INFO L290 TraceCheckUtils]: 12: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 10:44:03,208 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 10:44:03,208 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 10:44:03,209 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41#false} {41#false} #78#return; {41#false} is VALID [2022-04-08 10:44:03,209 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 10:44:03,210 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 10:44:03,210 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 10:44:03,211 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 10:44:03,211 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 10:44:03,211 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #80#return; {41#false} is VALID [2022-04-08 10:44:03,212 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 10:44:03,212 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 10:44:03,213 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 10:44:03,213 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 10:44:03,214 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #82#return; {41#false} is VALID [2022-04-08 10:44:03,214 INFO L290 TraceCheckUtils]: 27: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-08 10:44:03,215 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 10:44:03,218 INFO L290 TraceCheckUtils]: 29: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-08 10:44:03,218 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-08 10:44:03,218 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-08 10:44:03,219 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 10:44:03,220 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:44:03,220 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [279129569] [2022-04-08 10:44:03,221 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [279129569] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:44:03,221 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:44:03,221 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 10:44:03,225 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:44:03,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [839652414] [2022-04-08 10:44:03,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [839652414] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:44:03,226 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:44:03,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 10:44:03,227 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1062472854] [2022-04-08 10:44:03,227 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:44:03,234 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 10:44:03,236 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:44:03,240 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 10:44:03,283 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 10:44:03,284 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 10:44:03,284 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:44:03,309 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 10:44:03,310 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 10:44:03,312 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 10:44:03,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:03,547 INFO L93 Difference]: Finished difference Result 67 states and 106 transitions. [2022-04-08 10:44:03,548 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 10:44:03,548 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 10:44:03,548 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:44:03,550 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 10:44:03,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 106 transitions. [2022-04-08 10:44:03,561 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 10:44:03,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 106 transitions. [2022-04-08 10:44:03,574 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 106 transitions. [2022-04-08 10:44:03,713 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 10:44:03,721 INFO L225 Difference]: With dead ends: 67 [2022-04-08 10:44:03,721 INFO L226 Difference]: Without dead ends: 32 [2022-04-08 10:44:03,724 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 10:44:03,727 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:44:03,728 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.1s Time] [2022-04-08 10:44:03,742 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-08 10:44:03,757 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-08 10:44:03,757 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:44:03,758 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 10:44:03,759 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 10:44:03,759 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 10:44:03,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:03,764 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-08 10:44:03,764 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 10:44:03,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:44:03,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:44:03,766 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 10:44:03,766 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 10:44:03,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:03,770 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-08 10:44:03,770 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 10:44:03,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:44:03,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:44:03,771 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:44:03,772 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:44:03,772 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 10:44:03,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-08 10:44:03,776 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 32 [2022-04-08 10:44:03,776 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:44:03,776 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-08 10:44:03,777 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 10:44:03,777 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-08 10:44:03,897 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 10:44:03,898 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 10:44:03,899 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 10:44:03,900 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:44:03,900 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 10:44:03,900 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 10:44:03,900 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:44:03,901 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:44:03,901 INFO L85 PathProgramCache]: Analyzing trace with hash 310247117, now seen corresponding path program 1 times [2022-04-08 10:44:03,901 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:44:03,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1856446869] [2022-04-08 10:44:03,902 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:44:03,902 INFO L85 PathProgramCache]: Analyzing trace with hash 310247117, now seen corresponding path program 2 times [2022-04-08 10:44:03,902 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:44:03,903 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1560797171] [2022-04-08 10:44:03,903 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:44:03,903 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:44:03,926 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:44:03,926 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [204111983] [2022-04-08 10:44:03,926 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:44:03,927 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:44:03,927 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:44:03,929 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 10:44:03,968 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 10:44:04,003 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:44:04,004 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:44:04,006 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 10:44:04,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:44:04,034 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:44:04,274 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-08 10:44:04,274 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 10:44:04,274 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 10:44:04,274 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #96#return; {326#true} is VALID [2022-04-08 10:44:04,275 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-08 10:44:04,275 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 10:44:04,275 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 10:44:04,275 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 10:44:04,275 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 10:44:04,276 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 10:44:04,276 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #76#return; {326#true} is VALID [2022-04-08 10:44:04,276 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 10:44:04,277 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 10:44:04,277 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 10:44:04,278 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 10:44:04,278 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 10:44:04,279 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 10:44:04,279 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 10:44:04,280 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 10:44:04,280 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 10:44:04,280 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 10:44:04,281 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 10:44:04,281 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 10:44:04,281 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 10:44:04,281 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 10:44:04,281 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 10:44:04,282 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 10:44:04,282 INFO L290 TraceCheckUtils]: 27: Hoare triple {382#(<= 1 main_~b~0)} assume !false; {382#(<= 1 main_~b~0)} is VALID [2022-04-08 10:44:04,283 INFO L290 TraceCheckUtils]: 28: Hoare triple {382#(<= 1 main_~b~0)} assume !(0 != ~b~0); {327#false} is VALID [2022-04-08 10:44:04,283 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 10:44:04,283 INFO L290 TraceCheckUtils]: 30: Hoare triple {327#false} ~cond := #in~cond; {327#false} is VALID [2022-04-08 10:44:04,284 INFO L290 TraceCheckUtils]: 31: Hoare triple {327#false} assume 0 == ~cond; {327#false} is VALID [2022-04-08 10:44:04,284 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-08 10:44:04,284 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 10:44:04,284 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:44:04,577 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-08 10:44:04,577 INFO L290 TraceCheckUtils]: 31: Hoare triple {327#false} assume 0 == ~cond; {327#false} is VALID [2022-04-08 10:44:04,578 INFO L290 TraceCheckUtils]: 30: Hoare triple {327#false} ~cond := #in~cond; {327#false} is VALID [2022-04-08 10:44:04,578 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 10:44:04,578 INFO L290 TraceCheckUtils]: 28: Hoare triple {382#(<= 1 main_~b~0)} assume !(0 != ~b~0); {327#false} is VALID [2022-04-08 10:44:04,579 INFO L290 TraceCheckUtils]: 27: Hoare triple {382#(<= 1 main_~b~0)} assume !false; {382#(<= 1 main_~b~0)} is VALID [2022-04-08 10:44:04,580 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 10:44:04,580 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 10:44:04,580 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 10:44:04,580 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 10:44:04,581 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 10:44:04,582 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 10:44:04,582 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 10:44:04,582 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 10:44:04,582 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 10:44:04,582 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 10:44:04,583 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 10:44:04,585 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 10:44:04,587 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 10:44:04,587 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 10:44:04,589 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 10:44:04,589 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 10:44:04,589 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #76#return; {326#true} is VALID [2022-04-08 10:44:04,590 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 10:44:04,590 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 10:44:04,590 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 10:44:04,590 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 10:44:04,590 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 10:44:04,591 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-08 10:44:04,591 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #96#return; {326#true} is VALID [2022-04-08 10:44:04,591 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 10:44:04,591 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 10:44:04,591 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-08 10:44:04,592 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 10:44:04,592 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:44:04,592 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1560797171] [2022-04-08 10:44:04,592 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:44:04,593 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [204111983] [2022-04-08 10:44:04,593 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [204111983] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:44:04,593 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:44:04,593 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-08 10:44:04,594 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:44:04,594 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1856446869] [2022-04-08 10:44:04,594 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1856446869] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:44:04,594 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:44:04,595 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:44:04,595 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [534828021] [2022-04-08 10:44:04,595 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:44:04,596 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 10:44:04,596 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:44:04,596 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 10:44:04,620 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 10:44:04,621 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 10:44:04,621 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:44:04,621 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 10:44:04,622 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 10:44:04,622 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 10:44:04,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:04,974 INFO L93 Difference]: Finished difference Result 49 states and 64 transitions. [2022-04-08 10:44:04,974 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 10:44:04,974 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 10:44:04,974 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:44:04,975 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 10:44:04,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-08 10:44:04,978 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 10:44:04,980 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-08 10:44:04,981 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 64 transitions. [2022-04-08 10:44:05,040 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 10:44:05,042 INFO L225 Difference]: With dead ends: 49 [2022-04-08 10:44:05,042 INFO L226 Difference]: Without dead ends: 41 [2022-04-08 10:44:05,042 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 10:44:05,044 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 10:44:05,044 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 10:44:05,045 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-08 10:44:05,066 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-08 10:44:05,066 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:44:05,066 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 10:44:05,067 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 10:44:05,067 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 10:44:05,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:05,071 INFO L93 Difference]: Finished difference Result 41 states and 55 transitions. [2022-04-08 10:44:05,071 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 55 transitions. [2022-04-08 10:44:05,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:44:05,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:44:05,072 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 10:44:05,073 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 10:44:05,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:05,079 INFO L93 Difference]: Finished difference Result 41 states and 55 transitions. [2022-04-08 10:44:05,079 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 55 transitions. [2022-04-08 10:44:05,080 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:44:05,080 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:44:05,080 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:44:05,081 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:44:05,081 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 10:44:05,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-08 10:44:05,084 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 33 [2022-04-08 10:44:05,084 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:44:05,084 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-08 10:44:05,084 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 10:44:05,085 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 43 transitions. [2022-04-08 10:44:05,144 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 10:44:05,144 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-08 10:44:05,145 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 10:44:05,145 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:44:05,145 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 10:44:05,170 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-08 10:44:05,359 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 10:44:05,360 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:44:05,360 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:44:05,360 INFO L85 PathProgramCache]: Analyzing trace with hash 1036600877, now seen corresponding path program 1 times [2022-04-08 10:44:05,360 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:44:05,360 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [900461367] [2022-04-08 10:44:05,361 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:44:05,361 INFO L85 PathProgramCache]: Analyzing trace with hash 1036600877, now seen corresponding path program 2 times [2022-04-08 10:44:05,361 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:44:05,361 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [142329885] [2022-04-08 10:44:05,362 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:44:05,362 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:44:05,385 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:44:05,386 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2133005249] [2022-04-08 10:44:05,386 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:44:05,386 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:44:05,386 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:44:05,392 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 10:44:05,394 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 10:44:05,437 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 10:44:05,437 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:44:05,438 INFO L263 TraceCheckSpWp]: Trace formula consists of 72 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-08 10:44:05,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:44:05,457 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:44:05,614 INFO L272 TraceCheckUtils]: 0: Hoare triple {782#true} call ULTIMATE.init(); {782#true} is VALID [2022-04-08 10:44:05,614 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 10:44:05,614 INFO L290 TraceCheckUtils]: 2: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-08 10:44:05,615 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {782#true} {782#true} #96#return; {782#true} is VALID [2022-04-08 10:44:05,616 INFO L272 TraceCheckUtils]: 4: Hoare triple {782#true} call #t~ret6 := main(); {782#true} is VALID [2022-04-08 10:44:05,616 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 10:44:05,616 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 10:44:05,616 INFO L290 TraceCheckUtils]: 7: Hoare triple {782#true} ~cond := #in~cond; {782#true} is VALID [2022-04-08 10:44:05,617 INFO L290 TraceCheckUtils]: 8: Hoare triple {782#true} assume !(0 == ~cond); {782#true} is VALID [2022-04-08 10:44:05,617 INFO L290 TraceCheckUtils]: 9: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-08 10:44:05,617 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {782#true} {782#true} #76#return; {782#true} is VALID [2022-04-08 10:44:05,617 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 10:44:05,617 INFO L290 TraceCheckUtils]: 12: Hoare triple {782#true} ~cond := #in~cond; {782#true} is VALID [2022-04-08 10:44:05,617 INFO L290 TraceCheckUtils]: 13: Hoare triple {782#true} assume !(0 == ~cond); {782#true} is VALID [2022-04-08 10:44:05,617 INFO L290 TraceCheckUtils]: 14: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-08 10:44:05,617 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {782#true} {782#true} #78#return; {782#true} is VALID [2022-04-08 10:44:05,618 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 10:44:05,618 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 10:44:05,618 INFO L290 TraceCheckUtils]: 18: Hoare triple {782#true} ~cond := #in~cond; {782#true} is VALID [2022-04-08 10:44:05,618 INFO L290 TraceCheckUtils]: 19: Hoare triple {782#true} assume !(0 == ~cond); {782#true} is VALID [2022-04-08 10:44:05,618 INFO L290 TraceCheckUtils]: 20: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-08 10:44:05,618 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {782#true} {782#true} #80#return; {782#true} is VALID [2022-04-08 10:44:05,618 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 10:44:05,618 INFO L290 TraceCheckUtils]: 23: Hoare triple {782#true} ~cond := #in~cond; {782#true} is VALID [2022-04-08 10:44:05,618 INFO L290 TraceCheckUtils]: 24: Hoare triple {782#true} assume !(0 == ~cond); {782#true} is VALID [2022-04-08 10:44:05,619 INFO L290 TraceCheckUtils]: 25: Hoare triple {782#true} assume true; {782#true} is VALID [2022-04-08 10:44:05,619 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {782#true} {782#true} #82#return; {782#true} is VALID [2022-04-08 10:44:05,619 INFO L290 TraceCheckUtils]: 27: Hoare triple {782#true} assume !false; {782#true} is VALID [2022-04-08 10:44:05,632 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 10:44:05,633 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 10:44:05,634 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 10:44:05,634 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 10:44:05,635 INFO L290 TraceCheckUtils]: 32: Hoare triple {882#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {783#false} is VALID [2022-04-08 10:44:05,635 INFO L290 TraceCheckUtils]: 33: Hoare triple {783#false} assume !false; {783#false} is VALID [2022-04-08 10:44:05,635 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 10:44:05,635 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 10:44:05,635 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:44:05,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [142329885] [2022-04-08 10:44:05,636 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:44:05,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2133005249] [2022-04-08 10:44:05,636 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2133005249] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:44:05,636 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:44:05,636 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:44:05,637 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:44:05,637 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [900461367] [2022-04-08 10:44:05,637 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [900461367] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:44:05,637 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:44:05,637 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:44:05,637 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1485649045] [2022-04-08 10:44:05,637 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:44:05,638 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 10:44:05,638 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:44:05,638 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 10:44:05,656 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 10:44:05,657 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 10:44:05,657 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:44:05,657 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 10:44:05,658 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 10:44:05,658 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 10:44:05,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:05,869 INFO L93 Difference]: Finished difference Result 47 states and 60 transitions. [2022-04-08 10:44:05,869 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 10:44:05,870 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 10:44:05,870 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:44:05,870 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 10:44:05,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-08 10:44:05,873 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 10:44:05,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-08 10:44:05,874 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-08 10:44:05,927 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 10:44:05,931 INFO L225 Difference]: With dead ends: 47 [2022-04-08 10:44:05,931 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 10:44:05,932 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 10:44:05,941 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 10:44:05,943 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 10:44:05,944 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 10:44:05,975 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 40. [2022-04-08 10:44:05,975 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:44:05,975 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 10:44:05,978 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 10:44:05,979 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 10:44:05,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:05,986 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-08 10:44:05,986 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 58 transitions. [2022-04-08 10:44:05,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:44:05,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:44:05,990 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 10:44:05,991 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 10:44:05,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:05,996 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-08 10:44:05,996 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 58 transitions. [2022-04-08 10:44:05,997 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:44:05,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:44:05,997 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:44:05,997 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:44:05,998 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 10:44:06,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 49 transitions. [2022-04-08 10:44:06,001 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 49 transitions. Word has length 34 [2022-04-08 10:44:06,002 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:44:06,002 INFO L478 AbstractCegarLoop]: Abstraction has 40 states and 49 transitions. [2022-04-08 10:44:06,003 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 10:44:06,003 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 49 transitions. [2022-04-08 10:44:06,061 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 10:44:06,061 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 49 transitions. [2022-04-08 10:44:06,062 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 10:44:06,062 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:44:06,062 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 10:44:06,086 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-08 10:44:06,279 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 10:44:06,280 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:44:06,280 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:44:06,280 INFO L85 PathProgramCache]: Analyzing trace with hash -844413996, now seen corresponding path program 1 times [2022-04-08 10:44:06,280 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:44:06,281 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1879398801] [2022-04-08 10:44:06,281 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:44:06,281 INFO L85 PathProgramCache]: Analyzing trace with hash -844413996, now seen corresponding path program 2 times [2022-04-08 10:44:06,281 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:44:06,281 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1208915128] [2022-04-08 10:44:06,282 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:44:06,282 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:44:06,304 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:44:06,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [530771823] [2022-04-08 10:44:06,304 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:44:06,305 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:44:06,305 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:44:06,306 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 10:44:06,307 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 10:44:06,369 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:44:06,370 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:44:06,371 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 10:44:06,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:44:06,384 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:44:06,633 INFO L272 TraceCheckUtils]: 0: Hoare triple {1154#true} call ULTIMATE.init(); {1154#true} is VALID [2022-04-08 10:44:06,634 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 10:44:06,634 INFO L290 TraceCheckUtils]: 2: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 10:44:06,634 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1154#true} {1154#true} #96#return; {1154#true} is VALID [2022-04-08 10:44:06,634 INFO L272 TraceCheckUtils]: 4: Hoare triple {1154#true} call #t~ret6 := main(); {1154#true} is VALID [2022-04-08 10:44:06,634 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 10:44:06,635 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 10:44:06,635 INFO L290 TraceCheckUtils]: 7: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 10:44:06,635 INFO L290 TraceCheckUtils]: 8: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 10:44:06,635 INFO L290 TraceCheckUtils]: 9: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 10:44:06,635 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1154#true} {1154#true} #76#return; {1154#true} is VALID [2022-04-08 10:44:06,635 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 10:44:06,636 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 10:44:06,636 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 10:44:06,637 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 10:44:06,637 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 10:44:06,638 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 10:44:06,638 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 10:44:06,638 INFO L290 TraceCheckUtils]: 18: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 10:44:06,638 INFO L290 TraceCheckUtils]: 19: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 10:44:06,639 INFO L290 TraceCheckUtils]: 20: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 10:44:06,644 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 10:44:06,644 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 10:44:06,644 INFO L290 TraceCheckUtils]: 23: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 10:44:06,644 INFO L290 TraceCheckUtils]: 24: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 10:44:06,645 INFO L290 TraceCheckUtils]: 25: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 10:44:06,646 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 10:44:06,646 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 10:44:06,651 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 10:44:06,651 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 10:44:06,652 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 10:44:06,652 INFO L290 TraceCheckUtils]: 31: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 10:44:06,652 INFO L290 TraceCheckUtils]: 32: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 10:44:06,652 INFO L290 TraceCheckUtils]: 33: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 10:44:06,653 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 10:44:06,654 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 10:44:06,658 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 10:44:06,659 INFO L290 TraceCheckUtils]: 37: Hoare triple {1272#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1155#false} is VALID [2022-04-08 10:44:06,659 INFO L290 TraceCheckUtils]: 38: Hoare triple {1155#false} assume !false; {1155#false} is VALID [2022-04-08 10:44:06,660 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 10:44:06,660 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:44:06,905 INFO L290 TraceCheckUtils]: 38: Hoare triple {1155#false} assume !false; {1155#false} is VALID [2022-04-08 10:44:06,906 INFO L290 TraceCheckUtils]: 37: Hoare triple {1272#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1155#false} is VALID [2022-04-08 10:44:06,907 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 10:44:06,908 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 10:44:06,909 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 10:44:06,909 INFO L290 TraceCheckUtils]: 33: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 10:44:06,909 INFO L290 TraceCheckUtils]: 32: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 10:44:06,909 INFO L290 TraceCheckUtils]: 31: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 10:44:06,910 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 10:44:06,910 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 10:44:06,911 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 10:44:06,911 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 10:44:06,912 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 10:44:06,912 INFO L290 TraceCheckUtils]: 25: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 10:44:06,912 INFO L290 TraceCheckUtils]: 24: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 10:44:06,913 INFO L290 TraceCheckUtils]: 23: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 10:44:06,913 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 10:44:06,914 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 10:44:06,914 INFO L290 TraceCheckUtils]: 20: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 10:44:06,914 INFO L290 TraceCheckUtils]: 19: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 10:44:06,914 INFO L290 TraceCheckUtils]: 18: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 10:44:06,914 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 10:44:06,915 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 10:44:06,915 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1154#true} {1154#true} #78#return; {1154#true} is VALID [2022-04-08 10:44:06,915 INFO L290 TraceCheckUtils]: 14: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 10:44:06,915 INFO L290 TraceCheckUtils]: 13: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 10:44:06,915 INFO L290 TraceCheckUtils]: 12: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 10:44:06,916 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 10:44:06,916 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1154#true} {1154#true} #76#return; {1154#true} is VALID [2022-04-08 10:44:06,916 INFO L290 TraceCheckUtils]: 9: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 10:44:06,916 INFO L290 TraceCheckUtils]: 8: Hoare triple {1154#true} assume !(0 == ~cond); {1154#true} is VALID [2022-04-08 10:44:06,916 INFO L290 TraceCheckUtils]: 7: Hoare triple {1154#true} ~cond := #in~cond; {1154#true} is VALID [2022-04-08 10:44:06,916 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 10:44:06,916 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 10:44:06,917 INFO L272 TraceCheckUtils]: 4: Hoare triple {1154#true} call #t~ret6 := main(); {1154#true} is VALID [2022-04-08 10:44:06,917 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1154#true} {1154#true} #96#return; {1154#true} is VALID [2022-04-08 10:44:06,917 INFO L290 TraceCheckUtils]: 2: Hoare triple {1154#true} assume true; {1154#true} is VALID [2022-04-08 10:44:06,917 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 10:44:06,917 INFO L272 TraceCheckUtils]: 0: Hoare triple {1154#true} call ULTIMATE.init(); {1154#true} is VALID [2022-04-08 10:44:06,918 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 10:44:06,918 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:44:06,918 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1208915128] [2022-04-08 10:44:06,918 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:44:06,918 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [530771823] [2022-04-08 10:44:06,918 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [530771823] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 10:44:06,918 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 10:44:06,918 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-08 10:44:06,919 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:44:06,919 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1879398801] [2022-04-08 10:44:06,919 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1879398801] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:44:06,919 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:44:06,919 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:44:06,919 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1509569931] [2022-04-08 10:44:06,919 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:44:06,920 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 10:44:06,920 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:44:06,920 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 10:44:06,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 10:44:06,946 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 10:44:06,946 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:44:06,947 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 10:44:06,947 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 10:44:06,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 10:44:07,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:07,217 INFO L93 Difference]: Finished difference Result 55 states and 69 transitions. [2022-04-08 10:44:07,218 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 10:44:07,218 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 10:44:07,218 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:44:07,218 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 10:44:07,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 10:44:07,220 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 10:44:07,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 10:44:07,222 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-08 10:44:07,270 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 10:44:07,273 INFO L225 Difference]: With dead ends: 55 [2022-04-08 10:44:07,273 INFO L226 Difference]: Without dead ends: 53 [2022-04-08 10:44:07,274 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 10:44:07,275 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 10:44:07,276 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 10:44:07,277 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-08 10:44:07,316 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 52. [2022-04-08 10:44:07,316 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:44:07,318 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 10:44:07,319 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 10:44:07,320 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 10:44:07,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:07,323 INFO L93 Difference]: Finished difference Result 53 states and 67 transitions. [2022-04-08 10:44:07,323 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 67 transitions. [2022-04-08 10:44:07,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:44:07,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:44:07,325 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 10:44:07,325 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 10:44:07,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:07,329 INFO L93 Difference]: Finished difference Result 53 states and 67 transitions. [2022-04-08 10:44:07,329 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 67 transitions. [2022-04-08 10:44:07,329 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:44:07,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:44:07,329 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:44:07,329 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:44:07,330 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 10:44:07,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 66 transitions. [2022-04-08 10:44:07,332 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 66 transitions. Word has length 39 [2022-04-08 10:44:07,332 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:44:07,332 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 66 transitions. [2022-04-08 10:44:07,333 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 10:44:07,333 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 66 transitions. [2022-04-08 10:44:07,411 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 10:44:07,411 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-08 10:44:07,412 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 10:44:07,412 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:44:07,412 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 10:44:07,435 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 10:44:07,631 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 10:44:07,632 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:44:07,632 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:44:07,632 INFO L85 PathProgramCache]: Analyzing trace with hash -644493747, now seen corresponding path program 1 times [2022-04-08 10:44:07,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:44:07,632 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1715296906] [2022-04-08 10:44:07,632 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:44:07,633 INFO L85 PathProgramCache]: Analyzing trace with hash -644493747, now seen corresponding path program 2 times [2022-04-08 10:44:07,633 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:44:07,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [983110348] [2022-04-08 10:44:07,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:44:07,633 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:44:07,646 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:44:07,646 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1464737822] [2022-04-08 10:44:07,646 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:44:07,647 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:44:07,647 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:44:07,648 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 10:44:07,663 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 10:44:07,716 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:44:07,716 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:44:07,717 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 10:44:07,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:44:07,732 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:44:07,999 INFO L272 TraceCheckUtils]: 0: Hoare triple {1718#true} call ULTIMATE.init(); {1718#true} is VALID [2022-04-08 10:44:07,999 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 10:44:08,000 INFO L290 TraceCheckUtils]: 2: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 10:44:08,000 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1718#true} {1718#true} #96#return; {1718#true} is VALID [2022-04-08 10:44:08,000 INFO L272 TraceCheckUtils]: 4: Hoare triple {1718#true} call #t~ret6 := main(); {1718#true} is VALID [2022-04-08 10:44:08,000 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 10:44:08,000 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 10:44:08,001 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 10:44:08,001 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 10:44:08,002 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 10:44:08,002 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 10:44:08,003 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 10:44:08,003 INFO L290 TraceCheckUtils]: 12: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 10:44:08,003 INFO L290 TraceCheckUtils]: 13: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 10:44:08,003 INFO L290 TraceCheckUtils]: 14: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 10:44:08,003 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 10:44:08,004 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 10:44:08,004 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 10:44:08,004 INFO L290 TraceCheckUtils]: 18: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 10:44:08,005 INFO L290 TraceCheckUtils]: 19: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 10:44:08,005 INFO L290 TraceCheckUtils]: 20: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 10:44:08,006 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 10:44:08,007 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 10:44:08,007 INFO L290 TraceCheckUtils]: 23: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 10:44:08,007 INFO L290 TraceCheckUtils]: 24: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 10:44:08,007 INFO L290 TraceCheckUtils]: 25: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 10:44:08,009 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 10:44:08,010 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 10:44:08,010 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 10:44:08,011 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 10:44:08,011 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 10:44:08,011 INFO L290 TraceCheckUtils]: 31: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 10:44:08,011 INFO L290 TraceCheckUtils]: 32: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 10:44:08,011 INFO L290 TraceCheckUtils]: 33: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 10:44:08,012 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 10:44:08,012 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 10:44:08,012 INFO L290 TraceCheckUtils]: 36: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 10:44:08,012 INFO L290 TraceCheckUtils]: 37: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 10:44:08,013 INFO L290 TraceCheckUtils]: 38: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 10:44:08,013 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 10:44:08,014 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 10:44:08,015 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 10:44:08,015 INFO L290 TraceCheckUtils]: 42: Hoare triple {1851#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1719#false} is VALID [2022-04-08 10:44:08,015 INFO L290 TraceCheckUtils]: 43: Hoare triple {1719#false} assume !false; {1719#false} is VALID [2022-04-08 10:44:08,015 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 10:44:08,016 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:44:08,257 INFO L290 TraceCheckUtils]: 43: Hoare triple {1719#false} assume !false; {1719#false} is VALID [2022-04-08 10:44:08,258 INFO L290 TraceCheckUtils]: 42: Hoare triple {1851#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1719#false} is VALID [2022-04-08 10:44:08,259 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 10:44:08,259 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 10:44:08,260 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 10:44:08,260 INFO L290 TraceCheckUtils]: 38: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 10:44:08,261 INFO L290 TraceCheckUtils]: 37: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 10:44:08,261 INFO L290 TraceCheckUtils]: 36: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 10:44:08,261 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 10:44:08,262 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 10:44:08,262 INFO L290 TraceCheckUtils]: 33: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 10:44:08,262 INFO L290 TraceCheckUtils]: 32: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 10:44:08,262 INFO L290 TraceCheckUtils]: 31: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 10:44:08,262 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 10:44:08,263 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 10:44:08,263 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 10:44:08,264 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 10:44:08,264 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 10:44:08,264 INFO L290 TraceCheckUtils]: 25: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 10:44:08,265 INFO L290 TraceCheckUtils]: 24: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 10:44:08,265 INFO L290 TraceCheckUtils]: 23: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 10:44:08,265 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 10:44:08,265 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 10:44:08,266 INFO L290 TraceCheckUtils]: 20: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 10:44:08,266 INFO L290 TraceCheckUtils]: 19: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 10:44:08,266 INFO L290 TraceCheckUtils]: 18: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 10:44:08,266 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 10:44:08,267 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 10:44:08,267 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1718#true} {1718#true} #78#return; {1718#true} is VALID [2022-04-08 10:44:08,267 INFO L290 TraceCheckUtils]: 14: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 10:44:08,267 INFO L290 TraceCheckUtils]: 13: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 10:44:08,267 INFO L290 TraceCheckUtils]: 12: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 10:44:08,267 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 10:44:08,268 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1718#true} {1718#true} #76#return; {1718#true} is VALID [2022-04-08 10:44:08,268 INFO L290 TraceCheckUtils]: 9: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 10:44:08,268 INFO L290 TraceCheckUtils]: 8: Hoare triple {1718#true} assume !(0 == ~cond); {1718#true} is VALID [2022-04-08 10:44:08,268 INFO L290 TraceCheckUtils]: 7: Hoare triple {1718#true} ~cond := #in~cond; {1718#true} is VALID [2022-04-08 10:44:08,268 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 10:44:08,268 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 10:44:08,268 INFO L272 TraceCheckUtils]: 4: Hoare triple {1718#true} call #t~ret6 := main(); {1718#true} is VALID [2022-04-08 10:44:08,269 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1718#true} {1718#true} #96#return; {1718#true} is VALID [2022-04-08 10:44:08,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {1718#true} assume true; {1718#true} is VALID [2022-04-08 10:44:08,269 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 10:44:08,269 INFO L272 TraceCheckUtils]: 0: Hoare triple {1718#true} call ULTIMATE.init(); {1718#true} is VALID [2022-04-08 10:44:08,269 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 10:44:08,269 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:44:08,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [983110348] [2022-04-08 10:44:08,270 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:44:08,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1464737822] [2022-04-08 10:44:08,270 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1464737822] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 10:44:08,270 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 10:44:08,270 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-08 10:44:08,270 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:44:08,271 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1715296906] [2022-04-08 10:44:08,271 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1715296906] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:44:08,271 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:44:08,271 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:44:08,271 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1364844564] [2022-04-08 10:44:08,271 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:44:08,271 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 10:44:08,272 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:44:08,272 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 10:44:08,297 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 10:44:08,297 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 10:44:08,297 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:44:08,298 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 10:44:08,298 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 10:44:08,298 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 10:44:08,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:08,563 INFO L93 Difference]: Finished difference Result 59 states and 72 transitions. [2022-04-08 10:44:08,563 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 10:44:08,564 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 10:44:08,564 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:44:08,564 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 10:44:08,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 10:44:08,566 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 10:44:08,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 10:44:08,567 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-08 10:44:08,629 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 10:44:08,632 INFO L225 Difference]: With dead ends: 59 [2022-04-08 10:44:08,632 INFO L226 Difference]: Without dead ends: 57 [2022-04-08 10:44:08,633 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 10:44:08,633 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 10:44:08,633 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 10:44:08,634 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-08 10:44:08,686 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 56. [2022-04-08 10:44:08,686 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:44:08,687 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 10:44:08,688 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 10:44:08,688 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 10:44:08,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:08,691 INFO L93 Difference]: Finished difference Result 57 states and 70 transitions. [2022-04-08 10:44:08,691 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 70 transitions. [2022-04-08 10:44:08,692 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:44:08,692 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:44:08,693 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 10:44:08,693 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 10:44:08,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:08,697 INFO L93 Difference]: Finished difference Result 57 states and 70 transitions. [2022-04-08 10:44:08,697 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 70 transitions. [2022-04-08 10:44:08,697 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:44:08,697 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:44:08,698 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:44:08,698 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:44:08,698 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 10:44:08,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 69 transitions. [2022-04-08 10:44:08,701 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 69 transitions. Word has length 44 [2022-04-08 10:44:08,701 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:44:08,701 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 69 transitions. [2022-04-08 10:44:08,701 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 10:44:08,701 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 69 transitions. [2022-04-08 10:44:08,799 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 10:44:08,800 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 69 transitions. [2022-04-08 10:44:08,801 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 10:44:08,802 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:44:08,802 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 10:44:08,830 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 10:44:09,002 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 10:44:09,003 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:44:09,003 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:44:09,003 INFO L85 PathProgramCache]: Analyzing trace with hash -79102156, now seen corresponding path program 1 times [2022-04-08 10:44:09,003 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:44:09,003 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [552120260] [2022-04-08 10:44:09,004 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:44:09,004 INFO L85 PathProgramCache]: Analyzing trace with hash -79102156, now seen corresponding path program 2 times [2022-04-08 10:44:09,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:44:09,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [913893471] [2022-04-08 10:44:09,004 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:44:09,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:44:09,020 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:44:09,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1932161515] [2022-04-08 10:44:09,020 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:44:09,020 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:44:09,021 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:44:09,023 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 10:44:09,024 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 10:44:09,097 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:44:09,097 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:44:09,099 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 10:44:09,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:44:09,120 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:44:09,420 INFO L272 TraceCheckUtils]: 0: Hoare triple {2336#true} call ULTIMATE.init(); {2336#true} is VALID [2022-04-08 10:44:09,421 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 10:44:09,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-08 10:44:09,421 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2336#true} {2336#true} #96#return; {2336#true} is VALID [2022-04-08 10:44:09,421 INFO L272 TraceCheckUtils]: 4: Hoare triple {2336#true} call #t~ret6 := main(); {2336#true} is VALID [2022-04-08 10:44:09,421 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 10:44:09,421 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 10:44:09,422 INFO L290 TraceCheckUtils]: 7: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-08 10:44:09,422 INFO L290 TraceCheckUtils]: 8: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-08 10:44:09,422 INFO L290 TraceCheckUtils]: 9: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-08 10:44:09,422 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2336#true} {2336#true} #76#return; {2336#true} is VALID [2022-04-08 10:44:09,422 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 10:44:09,422 INFO L290 TraceCheckUtils]: 12: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-08 10:44:09,423 INFO L290 TraceCheckUtils]: 13: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-08 10:44:09,423 INFO L290 TraceCheckUtils]: 14: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-08 10:44:09,423 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2336#true} {2336#true} #78#return; {2336#true} is VALID [2022-04-08 10:44:09,425 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 10:44:09,426 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 10:44:09,426 INFO L290 TraceCheckUtils]: 18: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-08 10:44:09,426 INFO L290 TraceCheckUtils]: 19: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-08 10:44:09,426 INFO L290 TraceCheckUtils]: 20: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-08 10:44:09,427 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 10:44:09,427 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 10:44:09,427 INFO L290 TraceCheckUtils]: 23: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-08 10:44:09,427 INFO L290 TraceCheckUtils]: 24: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-08 10:44:09,428 INFO L290 TraceCheckUtils]: 25: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-08 10:44:09,428 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 10:44:09,429 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 10:44:09,429 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 10:44:09,430 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 10:44:09,430 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 10:44:09,430 INFO L290 TraceCheckUtils]: 31: Hoare triple {2336#true} ~cond := #in~cond; {2336#true} is VALID [2022-04-08 10:44:09,430 INFO L290 TraceCheckUtils]: 32: Hoare triple {2336#true} assume !(0 == ~cond); {2336#true} is VALID [2022-04-08 10:44:09,431 INFO L290 TraceCheckUtils]: 33: Hoare triple {2336#true} assume true; {2336#true} is VALID [2022-04-08 10:44:09,431 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 10:44:09,432 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 10:44:09,432 INFO L290 TraceCheckUtils]: 36: Hoare triple {2336#true} ~cond := #in~cond; {2450#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:44:09,432 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 10:44:09,433 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 10:44:09,434 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 10:44:09,434 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 10:44:09,434 INFO L290 TraceCheckUtils]: 41: Hoare triple {2336#true} ~cond := #in~cond; {2450#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:44:09,435 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 10:44:09,435 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 10:44:09,436 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 10:44:09,437 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 10:44:09,437 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 10:44:09,438 INFO L290 TraceCheckUtils]: 47: Hoare triple {2483#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2337#false} is VALID [2022-04-08 10:44:09,438 INFO L290 TraceCheckUtils]: 48: Hoare triple {2337#false} assume !false; {2337#false} is VALID [2022-04-08 10:44:09,438 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 10:44:09,438 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:44:51,336 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:44:51,336 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [913893471] [2022-04-08 10:44:51,336 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:44:51,336 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1932161515] [2022-04-08 10:44:51,337 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1932161515] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:44:51,337 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 10:44:51,337 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2022-04-08 10:44:51,337 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:44:51,337 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [552120260] [2022-04-08 10:44:51,337 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [552120260] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:44:51,337 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:44:51,337 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 10:44:51,337 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [784486478] [2022-04-08 10:44:51,338 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:44:51,338 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 10:44:51,338 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:44:51,339 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 10:44:51,375 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 10:44:51,375 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 10:44:51,376 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:44:51,376 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 10:44:51,376 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-08 10:44:51,376 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 10:44:51,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:51,789 INFO L93 Difference]: Finished difference Result 63 states and 75 transitions. [2022-04-08 10:44:51,789 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 10:44:51,789 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 10:44:51,789 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:44:51,789 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 10:44:51,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-08 10:44:51,791 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 10:44:51,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-08 10:44:51,792 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-08 10:44:51,851 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 10:44:51,852 INFO L225 Difference]: With dead ends: 63 [2022-04-08 10:44:51,852 INFO L226 Difference]: Without dead ends: 61 [2022-04-08 10:44:51,853 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 10:44:51,853 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 10:44:51,854 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 10:44:51,854 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-08 10:44:51,904 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 60. [2022-04-08 10:44:51,904 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:44:51,905 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 10:44:51,905 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 10:44:51,905 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 10:44:51,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:51,908 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2022-04-08 10:44:51,908 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2022-04-08 10:44:51,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:44:51,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:44:51,910 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 10:44:51,911 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 10:44:51,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:44:51,915 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2022-04-08 10:44:51,915 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2022-04-08 10:44:51,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:44:51,915 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:44:51,915 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:44:51,915 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:44:51,916 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 10:44:51,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 72 transitions. [2022-04-08 10:44:51,919 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 72 transitions. Word has length 49 [2022-04-08 10:44:51,919 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:44:51,919 INFO L478 AbstractCegarLoop]: Abstraction has 60 states and 72 transitions. [2022-04-08 10:44:51,919 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 10:44:51,919 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 60 states and 72 transitions. [2022-04-08 10:44:52,009 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 10:44:52,010 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2022-04-08 10:44:52,010 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-08 10:44:52,010 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:44:52,010 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 10:44:52,028 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 10:44:52,215 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 10:44:52,216 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:44:52,216 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:44:52,216 INFO L85 PathProgramCache]: Analyzing trace with hash -2126113716, now seen corresponding path program 1 times [2022-04-08 10:44:52,216 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:44:52,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1391729610] [2022-04-08 10:44:52,217 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:44:52,217 INFO L85 PathProgramCache]: Analyzing trace with hash -2126113716, now seen corresponding path program 2 times [2022-04-08 10:44:52,217 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:44:52,217 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [470689632] [2022-04-08 10:44:52,217 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:44:52,217 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:44:52,245 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:44:52,245 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1624669234] [2022-04-08 10:44:52,246 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:44:52,246 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:44:52,246 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:44:52,249 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 10:44:52,250 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 10:44:52,302 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:44:52,303 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:44:52,304 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 10:44:52,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:44:52,317 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:44:52,524 INFO L272 TraceCheckUtils]: 0: Hoare triple {2878#true} call ULTIMATE.init(); {2878#true} is VALID [2022-04-08 10:44:52,524 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 10:44:52,524 INFO L290 TraceCheckUtils]: 2: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:44:52,524 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2878#true} {2878#true} #96#return; {2878#true} is VALID [2022-04-08 10:44:52,524 INFO L272 TraceCheckUtils]: 4: Hoare triple {2878#true} call #t~ret6 := main(); {2878#true} is VALID [2022-04-08 10:44:52,524 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 10:44:52,525 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 10:44:52,525 INFO L290 TraceCheckUtils]: 7: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 10:44:52,525 INFO L290 TraceCheckUtils]: 8: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 10:44:52,525 INFO L290 TraceCheckUtils]: 9: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:44:52,525 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2878#true} {2878#true} #76#return; {2878#true} is VALID [2022-04-08 10:44:52,525 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 10:44:52,525 INFO L290 TraceCheckUtils]: 12: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 10:44:52,525 INFO L290 TraceCheckUtils]: 13: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 10:44:52,526 INFO L290 TraceCheckUtils]: 14: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:44:52,526 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2878#true} {2878#true} #78#return; {2878#true} is VALID [2022-04-08 10:44:52,526 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 10:44:52,526 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 10:44:52,526 INFO L290 TraceCheckUtils]: 18: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 10:44:52,526 INFO L290 TraceCheckUtils]: 19: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 10:44:52,526 INFO L290 TraceCheckUtils]: 20: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:44:52,527 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2878#true} {2878#true} #80#return; {2878#true} is VALID [2022-04-08 10:44:52,527 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 10:44:52,527 INFO L290 TraceCheckUtils]: 23: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 10:44:52,527 INFO L290 TraceCheckUtils]: 24: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 10:44:52,527 INFO L290 TraceCheckUtils]: 25: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:44:52,527 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2878#true} {2878#true} #82#return; {2878#true} is VALID [2022-04-08 10:44:52,527 INFO L290 TraceCheckUtils]: 27: Hoare triple {2878#true} assume !false; {2878#true} is VALID [2022-04-08 10:44:52,528 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 10:44:52,528 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 10:44:52,529 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 10:44:52,529 INFO L290 TraceCheckUtils]: 31: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 10:44:52,529 INFO L290 TraceCheckUtils]: 32: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 10:44:52,529 INFO L290 TraceCheckUtils]: 33: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:44:52,530 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 10:44:52,530 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 10:44:52,530 INFO L290 TraceCheckUtils]: 36: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 10:44:52,530 INFO L290 TraceCheckUtils]: 37: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 10:44:52,530 INFO L290 TraceCheckUtils]: 38: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:44:52,531 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 10:44:52,531 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 10:44:52,531 INFO L290 TraceCheckUtils]: 41: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 10:44:52,531 INFO L290 TraceCheckUtils]: 42: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 10:44:52,532 INFO L290 TraceCheckUtils]: 43: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:44:52,532 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 10:44:52,533 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 10:44:52,533 INFO L290 TraceCheckUtils]: 46: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 10:44:52,533 INFO L290 TraceCheckUtils]: 47: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 10:44:52,533 INFO L290 TraceCheckUtils]: 48: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:44:52,534 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 10:44:52,534 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 10:44:52,535 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 10:44:52,536 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 10:44:52,536 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 10:44:52,536 INFO L290 TraceCheckUtils]: 54: Hoare triple {3045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2879#false} is VALID [2022-04-08 10:44:52,537 INFO L290 TraceCheckUtils]: 55: Hoare triple {2879#false} assume !false; {2879#false} is VALID [2022-04-08 10:44:52,537 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 10:44:52,537 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:45:13,010 INFO L290 TraceCheckUtils]: 55: Hoare triple {2879#false} assume !false; {2879#false} is VALID [2022-04-08 10:45:13,010 INFO L290 TraceCheckUtils]: 54: Hoare triple {3045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2879#false} is VALID [2022-04-08 10:45:13,011 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 10:45:13,011 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 10:45:13,012 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 10:45:13,012 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 10:45:13,013 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 10:45:13,013 INFO L290 TraceCheckUtils]: 48: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:45:13,013 INFO L290 TraceCheckUtils]: 47: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 10:45:13,014 INFO L290 TraceCheckUtils]: 46: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 10:45:13,014 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 10:45:13,015 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 10:45:13,015 INFO L290 TraceCheckUtils]: 43: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:45:13,015 INFO L290 TraceCheckUtils]: 42: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 10:45:13,015 INFO L290 TraceCheckUtils]: 41: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 10:45:13,016 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 10:45:13,016 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 10:45:13,016 INFO L290 TraceCheckUtils]: 38: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:45:13,016 INFO L290 TraceCheckUtils]: 37: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 10:45:13,017 INFO L290 TraceCheckUtils]: 36: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 10:45:13,017 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 10:45:13,017 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 10:45:13,017 INFO L290 TraceCheckUtils]: 33: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:45:13,017 INFO L290 TraceCheckUtils]: 32: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 10:45:13,018 INFO L290 TraceCheckUtils]: 31: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 10:45:13,018 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 10:45:13,018 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 10:45:13,018 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 10:45:13,019 INFO L290 TraceCheckUtils]: 27: Hoare triple {2878#true} assume !false; {2878#true} is VALID [2022-04-08 10:45:13,019 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2878#true} {2878#true} #82#return; {2878#true} is VALID [2022-04-08 10:45:13,019 INFO L290 TraceCheckUtils]: 25: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:45:13,019 INFO L290 TraceCheckUtils]: 24: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 10:45:13,023 INFO L290 TraceCheckUtils]: 23: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 10:45:13,023 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 10:45:13,024 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2878#true} {2878#true} #80#return; {2878#true} is VALID [2022-04-08 10:45:13,024 INFO L290 TraceCheckUtils]: 20: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:45:13,024 INFO L290 TraceCheckUtils]: 19: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 10:45:13,024 INFO L290 TraceCheckUtils]: 18: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 10:45:13,024 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 10:45:13,024 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 10:45:13,024 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2878#true} {2878#true} #78#return; {2878#true} is VALID [2022-04-08 10:45:13,024 INFO L290 TraceCheckUtils]: 14: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:45:13,025 INFO L290 TraceCheckUtils]: 13: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 10:45:13,025 INFO L290 TraceCheckUtils]: 12: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 10:45:13,025 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 10:45:13,025 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2878#true} {2878#true} #76#return; {2878#true} is VALID [2022-04-08 10:45:13,025 INFO L290 TraceCheckUtils]: 9: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:45:13,025 INFO L290 TraceCheckUtils]: 8: Hoare triple {2878#true} assume !(0 == ~cond); {2878#true} is VALID [2022-04-08 10:45:13,025 INFO L290 TraceCheckUtils]: 7: Hoare triple {2878#true} ~cond := #in~cond; {2878#true} is VALID [2022-04-08 10:45:13,025 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 10:45:13,025 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 10:45:13,026 INFO L272 TraceCheckUtils]: 4: Hoare triple {2878#true} call #t~ret6 := main(); {2878#true} is VALID [2022-04-08 10:45:13,026 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2878#true} {2878#true} #96#return; {2878#true} is VALID [2022-04-08 10:45:13,026 INFO L290 TraceCheckUtils]: 2: Hoare triple {2878#true} assume true; {2878#true} is VALID [2022-04-08 10:45:13,026 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 10:45:13,029 INFO L272 TraceCheckUtils]: 0: Hoare triple {2878#true} call ULTIMATE.init(); {2878#true} is VALID [2022-04-08 10:45:13,029 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 10:45:13,029 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:45:13,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [470689632] [2022-04-08 10:45:13,029 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:45:13,030 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1624669234] [2022-04-08 10:45:13,030 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1624669234] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:45:13,030 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:45:13,030 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-08 10:45:13,030 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:45:13,030 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1391729610] [2022-04-08 10:45:13,030 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1391729610] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:45:13,030 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:45:13,030 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:45:13,031 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [854626538] [2022-04-08 10:45:13,031 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:45:13,034 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 10:45:13,035 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:45:13,035 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 10:45:13,064 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 10:45:13,064 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 10:45:13,065 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:13,065 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 10:45:13,065 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 10:45:13,065 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 10:45:13,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:13,485 INFO L93 Difference]: Finished difference Result 88 states and 117 transitions. [2022-04-08 10:45:13,485 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 10:45:13,485 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 10:45:13,485 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:45:13,486 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 10:45:13,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-08 10:45:13,488 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 10:45:13,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-08 10:45:13,489 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2022-04-08 10:45:13,553 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 10:45:13,557 INFO L225 Difference]: With dead ends: 88 [2022-04-08 10:45:13,557 INFO L226 Difference]: Without dead ends: 86 [2022-04-08 10:45:13,557 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 10:45:13,558 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 10:45:13,559 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 10:45:13,559 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-08 10:45:13,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 76. [2022-04-08 10:45:13,622 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:45:13,622 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 10:45:13,622 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 10:45:13,623 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 10:45:13,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:13,628 INFO L93 Difference]: Finished difference Result 86 states and 115 transitions. [2022-04-08 10:45:13,628 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 115 transitions. [2022-04-08 10:45:13,629 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:13,629 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:13,629 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 10:45:13,629 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 10:45:13,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:13,634 INFO L93 Difference]: Finished difference Result 86 states and 115 transitions. [2022-04-08 10:45:13,634 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 115 transitions. [2022-04-08 10:45:13,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:13,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:13,635 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:45:13,635 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:45:13,635 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 10:45:13,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 97 transitions. [2022-04-08 10:45:13,638 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 97 transitions. Word has length 56 [2022-04-08 10:45:13,639 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:45:13,639 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 97 transitions. [2022-04-08 10:45:13,639 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 10:45:13,639 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 97 transitions. [2022-04-08 10:45:13,778 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 10:45:13,778 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 97 transitions. [2022-04-08 10:45:13,781 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-08 10:45:13,781 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:45:13,781 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 10:45:13,800 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 10:45:13,983 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 10:45:13,984 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:45:13,984 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:45:13,984 INFO L85 PathProgramCache]: Analyzing trace with hash -1051433450, now seen corresponding path program 1 times [2022-04-08 10:45:13,984 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:13,984 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1348069502] [2022-04-08 10:45:13,985 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:45:13,985 INFO L85 PathProgramCache]: Analyzing trace with hash -1051433450, now seen corresponding path program 2 times [2022-04-08 10:45:13,985 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:45:13,985 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1550816589] [2022-04-08 10:45:13,985 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:45:13,985 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:45:14,010 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:45:14,010 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [140097525] [2022-04-08 10:45:14,010 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:45:14,010 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:45:14,011 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:45:14,015 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 10:45:14,016 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 10:45:14,068 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:45:14,069 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:45:14,070 INFO L263 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 10:45:14,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:14,088 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:45:14,335 INFO L272 TraceCheckUtils]: 0: Hoare triple {3722#true} call ULTIMATE.init(); {3722#true} is VALID [2022-04-08 10:45:14,335 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 10:45:14,335 INFO L290 TraceCheckUtils]: 2: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 10:45:14,336 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3722#true} {3722#true} #96#return; {3722#true} is VALID [2022-04-08 10:45:14,336 INFO L272 TraceCheckUtils]: 4: Hoare triple {3722#true} call #t~ret6 := main(); {3722#true} is VALID [2022-04-08 10:45:14,336 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 10:45:14,336 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 10:45:14,336 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 10:45:14,337 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 10:45:14,337 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 10:45:14,337 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 10:45:14,338 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 10:45:14,338 INFO L290 TraceCheckUtils]: 12: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 10:45:14,338 INFO L290 TraceCheckUtils]: 13: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 10:45:14,338 INFO L290 TraceCheckUtils]: 14: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 10:45:14,338 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 10:45:14,339 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 10:45:14,339 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 10:45:14,339 INFO L290 TraceCheckUtils]: 18: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 10:45:14,339 INFO L290 TraceCheckUtils]: 19: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 10:45:14,339 INFO L290 TraceCheckUtils]: 20: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 10:45:14,340 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 10:45:14,340 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 10:45:14,340 INFO L290 TraceCheckUtils]: 23: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 10:45:14,340 INFO L290 TraceCheckUtils]: 24: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 10:45:14,340 INFO L290 TraceCheckUtils]: 25: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 10:45:14,341 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 10:45:14,341 INFO L290 TraceCheckUtils]: 27: Hoare triple {3778#(<= 1 main_~a~0)} assume !false; {3778#(<= 1 main_~a~0)} is VALID [2022-04-08 10:45:14,341 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 10:45:14,342 INFO L290 TraceCheckUtils]: 29: Hoare triple {3815#(<= 1 main_~c~0)} assume !false; {3815#(<= 1 main_~c~0)} is VALID [2022-04-08 10:45:14,342 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 10:45:14,342 INFO L290 TraceCheckUtils]: 31: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 10:45:14,342 INFO L290 TraceCheckUtils]: 32: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 10:45:14,342 INFO L290 TraceCheckUtils]: 33: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 10:45:14,352 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 10:45:14,352 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 10:45:14,352 INFO L290 TraceCheckUtils]: 36: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 10:45:14,352 INFO L290 TraceCheckUtils]: 37: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 10:45:14,352 INFO L290 TraceCheckUtils]: 38: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 10:45:14,353 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 10:45:14,353 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 10:45:14,353 INFO L290 TraceCheckUtils]: 41: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 10:45:14,353 INFO L290 TraceCheckUtils]: 42: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 10:45:14,353 INFO L290 TraceCheckUtils]: 43: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 10:45:14,354 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 10:45:14,354 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 10:45:14,354 INFO L290 TraceCheckUtils]: 46: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 10:45:14,354 INFO L290 TraceCheckUtils]: 47: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 10:45:14,354 INFO L290 TraceCheckUtils]: 48: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 10:45:14,355 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 10:45:14,355 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 10:45:14,356 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 10:45:14,356 INFO L290 TraceCheckUtils]: 52: Hoare triple {3885#(<= 1 main_~b~0)} assume !false; {3885#(<= 1 main_~b~0)} is VALID [2022-04-08 10:45:14,357 INFO L290 TraceCheckUtils]: 53: Hoare triple {3885#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3723#false} is VALID [2022-04-08 10:45:14,357 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 10:45:14,357 INFO L290 TraceCheckUtils]: 55: Hoare triple {3723#false} ~cond := #in~cond; {3723#false} is VALID [2022-04-08 10:45:14,357 INFO L290 TraceCheckUtils]: 56: Hoare triple {3723#false} assume 0 == ~cond; {3723#false} is VALID [2022-04-08 10:45:14,357 INFO L290 TraceCheckUtils]: 57: Hoare triple {3723#false} assume !false; {3723#false} is VALID [2022-04-08 10:45:14,357 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 10:45:14,357 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:45:14,682 INFO L290 TraceCheckUtils]: 57: Hoare triple {3723#false} assume !false; {3723#false} is VALID [2022-04-08 10:45:14,682 INFO L290 TraceCheckUtils]: 56: Hoare triple {3723#false} assume 0 == ~cond; {3723#false} is VALID [2022-04-08 10:45:14,682 INFO L290 TraceCheckUtils]: 55: Hoare triple {3723#false} ~cond := #in~cond; {3723#false} is VALID [2022-04-08 10:45:14,682 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 10:45:14,683 INFO L290 TraceCheckUtils]: 53: Hoare triple {3885#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3723#false} is VALID [2022-04-08 10:45:14,683 INFO L290 TraceCheckUtils]: 52: Hoare triple {3885#(<= 1 main_~b~0)} assume !false; {3885#(<= 1 main_~b~0)} is VALID [2022-04-08 10:45:14,687 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 10:45:14,687 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 10:45:14,688 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 10:45:14,688 INFO L290 TraceCheckUtils]: 48: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 10:45:14,688 INFO L290 TraceCheckUtils]: 47: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 10:45:14,688 INFO L290 TraceCheckUtils]: 46: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 10:45:14,689 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 10:45:14,689 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 10:45:14,689 INFO L290 TraceCheckUtils]: 43: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 10:45:14,689 INFO L290 TraceCheckUtils]: 42: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 10:45:14,689 INFO L290 TraceCheckUtils]: 41: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 10:45:14,690 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 10:45:14,690 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 10:45:14,690 INFO L290 TraceCheckUtils]: 38: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 10:45:14,690 INFO L290 TraceCheckUtils]: 37: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 10:45:14,690 INFO L290 TraceCheckUtils]: 36: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 10:45:14,690 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 10:45:14,691 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 10:45:14,691 INFO L290 TraceCheckUtils]: 33: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 10:45:14,691 INFO L290 TraceCheckUtils]: 32: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 10:45:14,691 INFO L290 TraceCheckUtils]: 31: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 10:45:14,691 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 10:45:14,692 INFO L290 TraceCheckUtils]: 29: Hoare triple {3815#(<= 1 main_~c~0)} assume !false; {3815#(<= 1 main_~c~0)} is VALID [2022-04-08 10:45:14,692 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 10:45:14,692 INFO L290 TraceCheckUtils]: 27: Hoare triple {3778#(<= 1 main_~a~0)} assume !false; {3778#(<= 1 main_~a~0)} is VALID [2022-04-08 10:45:14,693 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 10:45:14,693 INFO L290 TraceCheckUtils]: 25: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 10:45:14,693 INFO L290 TraceCheckUtils]: 24: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 10:45:14,693 INFO L290 TraceCheckUtils]: 23: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 10:45:14,693 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 10:45:14,693 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 10:45:14,694 INFO L290 TraceCheckUtils]: 20: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 10:45:14,694 INFO L290 TraceCheckUtils]: 19: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 10:45:14,694 INFO L290 TraceCheckUtils]: 18: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 10:45:14,694 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 10:45:14,694 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 10:45:14,695 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 10:45:14,695 INFO L290 TraceCheckUtils]: 14: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 10:45:14,695 INFO L290 TraceCheckUtils]: 13: Hoare triple {3722#true} assume !(0 == ~cond); {3722#true} is VALID [2022-04-08 10:45:14,695 INFO L290 TraceCheckUtils]: 12: Hoare triple {3722#true} ~cond := #in~cond; {3722#true} is VALID [2022-04-08 10:45:14,695 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 10:45:14,695 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 10:45:14,696 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 10:45:14,696 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 10:45:14,696 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 10:45:14,697 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 10:45:14,697 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 10:45:14,697 INFO L272 TraceCheckUtils]: 4: Hoare triple {3722#true} call #t~ret6 := main(); {3722#true} is VALID [2022-04-08 10:45:14,697 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3722#true} {3722#true} #96#return; {3722#true} is VALID [2022-04-08 10:45:14,697 INFO L290 TraceCheckUtils]: 2: Hoare triple {3722#true} assume true; {3722#true} is VALID [2022-04-08 10:45:14,697 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 10:45:14,697 INFO L272 TraceCheckUtils]: 0: Hoare triple {3722#true} call ULTIMATE.init(); {3722#true} is VALID [2022-04-08 10:45:14,697 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 10:45:14,697 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:45:14,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1550816589] [2022-04-08 10:45:14,698 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:45:14,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [140097525] [2022-04-08 10:45:14,698 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [140097525] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:45:14,698 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:45:14,698 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 10:45:14,698 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:45:14,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1348069502] [2022-04-08 10:45:14,698 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1348069502] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:45:14,698 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:45:14,698 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 10:45:14,698 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1289380302] [2022-04-08 10:45:14,698 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:45:14,699 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 10:45:14,699 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:45:14,699 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 10:45:14,729 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 10:45:14,729 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 10:45:14,729 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:14,730 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 10:45:14,730 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 10:45:14,730 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 10:45:15,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:15,542 INFO L93 Difference]: Finished difference Result 121 states and 167 transitions. [2022-04-08 10:45:15,542 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 10:45:15,542 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 10:45:15,543 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:45:15,543 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 10:45:15,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 105 transitions. [2022-04-08 10:45:15,545 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 10:45:15,548 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 105 transitions. [2022-04-08 10:45:15,548 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 105 transitions. [2022-04-08 10:45:15,650 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 10:45:15,653 INFO L225 Difference]: With dead ends: 121 [2022-04-08 10:45:15,653 INFO L226 Difference]: Without dead ends: 113 [2022-04-08 10:45:15,654 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 10:45:15,654 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 10:45:15,654 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 10:45:15,655 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-04-08 10:45:15,820 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 102. [2022-04-08 10:45:15,820 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:45:15,822 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 10:45:15,829 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 10:45:15,831 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 10:45:15,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:15,837 INFO L93 Difference]: Finished difference Result 113 states and 158 transitions. [2022-04-08 10:45:15,837 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 158 transitions. [2022-04-08 10:45:15,839 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:15,840 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:15,840 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 10:45:15,842 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 10:45:15,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:15,850 INFO L93 Difference]: Finished difference Result 113 states and 158 transitions. [2022-04-08 10:45:15,850 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 158 transitions. [2022-04-08 10:45:15,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:15,851 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:15,851 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:45:15,851 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:45:15,853 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 10:45:15,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 140 transitions. [2022-04-08 10:45:15,857 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 140 transitions. Word has length 58 [2022-04-08 10:45:15,858 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:45:15,858 INFO L478 AbstractCegarLoop]: Abstraction has 102 states and 140 transitions. [2022-04-08 10:45:15,858 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 10:45:15,858 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 102 states and 140 transitions. [2022-04-08 10:45:16,054 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 10:45:16,054 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 140 transitions. [2022-04-08 10:45:16,055 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-08 10:45:16,055 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:45:16,055 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 10:45:16,072 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 10:45:16,255 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 10:45:16,256 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:45:16,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:45:16,256 INFO L85 PathProgramCache]: Analyzing trace with hash 998199389, now seen corresponding path program 1 times [2022-04-08 10:45:16,256 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:16,256 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [124647208] [2022-04-08 10:45:16,257 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:45:16,257 INFO L85 PathProgramCache]: Analyzing trace with hash 998199389, now seen corresponding path program 2 times [2022-04-08 10:45:16,257 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:45:16,257 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [63140121] [2022-04-08 10:45:16,257 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:45:16,257 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:45:16,270 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:45:16,270 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1736447764] [2022-04-08 10:45:16,270 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:45:16,271 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:45:16,271 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:45:16,272 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 10:45:16,279 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 10:45:16,344 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:45:16,344 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:45:16,345 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-08 10:45:16,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:16,359 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:45:16,681 INFO L272 TraceCheckUtils]: 0: Hoare triple {4760#true} call ULTIMATE.init(); {4760#true} is VALID [2022-04-08 10:45:16,681 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 10:45:16,682 INFO L290 TraceCheckUtils]: 2: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:16,682 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4760#true} {4760#true} #96#return; {4760#true} is VALID [2022-04-08 10:45:16,682 INFO L272 TraceCheckUtils]: 4: Hoare triple {4760#true} call #t~ret6 := main(); {4760#true} is VALID [2022-04-08 10:45:16,682 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 10:45:16,682 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 10:45:16,682 INFO L290 TraceCheckUtils]: 7: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 10:45:16,682 INFO L290 TraceCheckUtils]: 8: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 10:45:16,682 INFO L290 TraceCheckUtils]: 9: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:16,683 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4760#true} {4760#true} #76#return; {4760#true} is VALID [2022-04-08 10:45:16,683 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 10:45:16,683 INFO L290 TraceCheckUtils]: 12: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 10:45:16,683 INFO L290 TraceCheckUtils]: 13: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 10:45:16,683 INFO L290 TraceCheckUtils]: 14: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:16,683 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4760#true} {4760#true} #78#return; {4760#true} is VALID [2022-04-08 10:45:16,684 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 10:45:16,684 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 10:45:16,684 INFO L290 TraceCheckUtils]: 18: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 10:45:16,684 INFO L290 TraceCheckUtils]: 19: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 10:45:16,684 INFO L290 TraceCheckUtils]: 20: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:16,685 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 10:45:16,685 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 10:45:16,685 INFO L290 TraceCheckUtils]: 23: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 10:45:16,685 INFO L290 TraceCheckUtils]: 24: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 10:45:16,685 INFO L290 TraceCheckUtils]: 25: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:16,686 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 10:45:16,686 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 10:45:16,687 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 10:45:16,687 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 10:45:16,687 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 10:45:16,688 INFO L290 TraceCheckUtils]: 31: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 10:45:16,688 INFO L290 TraceCheckUtils]: 32: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 10:45:16,688 INFO L290 TraceCheckUtils]: 33: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:16,689 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 10:45:16,689 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 10:45:16,689 INFO L290 TraceCheckUtils]: 36: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 10:45:16,689 INFO L290 TraceCheckUtils]: 37: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 10:45:16,689 INFO L290 TraceCheckUtils]: 38: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:16,690 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 10:45:16,690 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 10:45:16,690 INFO L290 TraceCheckUtils]: 41: Hoare triple {4760#true} ~cond := #in~cond; {4889#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:45:16,691 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 10:45:16,692 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 10:45:16,693 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 10:45:16,696 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 10:45:16,696 INFO L290 TraceCheckUtils]: 46: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 10:45:16,696 INFO L290 TraceCheckUtils]: 47: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 10:45:16,696 INFO L290 TraceCheckUtils]: 48: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:16,698 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 10:45:16,698 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 10:45:16,699 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 10:45:16,699 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 10:45:16,699 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 10:45:16,700 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 10:45:16,700 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 10:45:16,700 INFO L290 TraceCheckUtils]: 56: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 10:45:16,700 INFO L290 TraceCheckUtils]: 57: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 10:45:16,700 INFO L290 TraceCheckUtils]: 58: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:16,704 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 10:45:16,705 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 10:45:16,706 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 10:45:16,706 INFO L290 TraceCheckUtils]: 62: Hoare triple {4953#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4761#false} is VALID [2022-04-08 10:45:16,706 INFO L290 TraceCheckUtils]: 63: Hoare triple {4761#false} assume !false; {4761#false} is VALID [2022-04-08 10:45:16,707 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 10:45:16,707 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:45:28,062 INFO L290 TraceCheckUtils]: 63: Hoare triple {4761#false} assume !false; {4761#false} is VALID [2022-04-08 10:45:28,063 INFO L290 TraceCheckUtils]: 62: Hoare triple {4953#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4761#false} is VALID [2022-04-08 10:45:28,063 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 10:45:28,064 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 10:45:28,065 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 10:45:28,065 INFO L290 TraceCheckUtils]: 58: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:28,065 INFO L290 TraceCheckUtils]: 57: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 10:45:28,065 INFO L290 TraceCheckUtils]: 56: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 10:45:28,065 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 10:45:28,065 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 10:45:28,066 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 10:45:28,066 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 10:45:28,067 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 10:45:28,067 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 10:45:28,068 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 10:45:28,068 INFO L290 TraceCheckUtils]: 48: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:28,068 INFO L290 TraceCheckUtils]: 47: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 10:45:28,068 INFO L290 TraceCheckUtils]: 46: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 10:45:28,069 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 10:45:28,069 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 10:45:28,069 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 10:45:28,070 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 10:45:28,070 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 10:45:28,070 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 10:45:28,070 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4760#true} {4760#true} #86#return; {4760#true} is VALID [2022-04-08 10:45:28,070 INFO L290 TraceCheckUtils]: 38: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:28,071 INFO L290 TraceCheckUtils]: 37: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 10:45:28,071 INFO L290 TraceCheckUtils]: 36: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 10:45:28,071 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 10:45:28,071 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4760#true} {4760#true} #84#return; {4760#true} is VALID [2022-04-08 10:45:28,071 INFO L290 TraceCheckUtils]: 33: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:28,071 INFO L290 TraceCheckUtils]: 32: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 10:45:28,071 INFO L290 TraceCheckUtils]: 31: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 10:45:28,071 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 10:45:28,071 INFO L290 TraceCheckUtils]: 29: Hoare triple {4760#true} assume !false; {4760#true} is VALID [2022-04-08 10:45:28,071 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 10:45:28,071 INFO L290 TraceCheckUtils]: 27: Hoare triple {4760#true} assume !false; {4760#true} is VALID [2022-04-08 10:45:28,071 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4760#true} {4760#true} #82#return; {4760#true} is VALID [2022-04-08 10:45:28,071 INFO L290 TraceCheckUtils]: 25: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:28,072 INFO L290 TraceCheckUtils]: 24: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 10:45:28,072 INFO L290 TraceCheckUtils]: 23: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 10:45:28,072 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 10:45:28,072 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4760#true} {4760#true} #80#return; {4760#true} is VALID [2022-04-08 10:45:28,072 INFO L290 TraceCheckUtils]: 20: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:28,072 INFO L290 TraceCheckUtils]: 19: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 10:45:28,072 INFO L290 TraceCheckUtils]: 18: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 10:45:28,072 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 10:45:28,072 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 10:45:28,072 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4760#true} {4760#true} #78#return; {4760#true} is VALID [2022-04-08 10:45:28,072 INFO L290 TraceCheckUtils]: 14: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:28,072 INFO L290 TraceCheckUtils]: 13: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 10:45:28,072 INFO L290 TraceCheckUtils]: 12: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 10:45:28,072 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 10:45:28,073 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4760#true} {4760#true} #76#return; {4760#true} is VALID [2022-04-08 10:45:28,073 INFO L290 TraceCheckUtils]: 9: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:28,073 INFO L290 TraceCheckUtils]: 8: Hoare triple {4760#true} assume !(0 == ~cond); {4760#true} is VALID [2022-04-08 10:45:28,073 INFO L290 TraceCheckUtils]: 7: Hoare triple {4760#true} ~cond := #in~cond; {4760#true} is VALID [2022-04-08 10:45:28,073 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 10:45:28,073 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 10:45:28,073 INFO L272 TraceCheckUtils]: 4: Hoare triple {4760#true} call #t~ret6 := main(); {4760#true} is VALID [2022-04-08 10:45:28,073 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4760#true} {4760#true} #96#return; {4760#true} is VALID [2022-04-08 10:45:28,073 INFO L290 TraceCheckUtils]: 2: Hoare triple {4760#true} assume true; {4760#true} is VALID [2022-04-08 10:45:28,073 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 10:45:28,073 INFO L272 TraceCheckUtils]: 0: Hoare triple {4760#true} call ULTIMATE.init(); {4760#true} is VALID [2022-04-08 10:45:28,074 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 10:45:28,074 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:45:28,074 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [63140121] [2022-04-08 10:45:28,074 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:45:28,074 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1736447764] [2022-04-08 10:45:28,074 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1736447764] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:45:28,074 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:45:28,074 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-08 10:45:28,074 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:45:28,074 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [124647208] [2022-04-08 10:45:28,075 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [124647208] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:45:28,075 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:45:28,075 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 10:45:28,075 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1829888179] [2022-04-08 10:45:28,075 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:45:28,075 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 10:45:28,076 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:45:28,076 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 10:45:28,111 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 10:45:28,112 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 10:45:28,112 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:28,112 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 10:45:28,112 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-08 10:45:28,112 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 10:45:28,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:28,850 INFO L93 Difference]: Finished difference Result 147 states and 208 transitions. [2022-04-08 10:45:28,850 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 10:45:28,850 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 10:45:28,851 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:45:28,851 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 10:45:28,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2022-04-08 10:45:28,852 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 10:45:28,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2022-04-08 10:45:28,854 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 78 transitions. [2022-04-08 10:45:28,932 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 10:45:28,936 INFO L225 Difference]: With dead ends: 147 [2022-04-08 10:45:28,936 INFO L226 Difference]: Without dead ends: 144 [2022-04-08 10:45:28,937 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 10:45:28,937 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 10:45:28,938 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 10:45:28,938 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-04-08 10:45:29,141 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 141. [2022-04-08 10:45:29,141 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:45:29,141 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 10:45:29,142 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 10:45:29,142 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 10:45:29,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:29,148 INFO L93 Difference]: Finished difference Result 144 states and 204 transitions. [2022-04-08 10:45:29,148 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 204 transitions. [2022-04-08 10:45:29,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:29,149 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:29,150 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 10:45:29,150 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 10:45:29,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:29,156 INFO L93 Difference]: Finished difference Result 144 states and 204 transitions. [2022-04-08 10:45:29,156 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 204 transitions. [2022-04-08 10:45:29,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:29,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:29,157 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:45:29,157 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:45:29,157 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 10:45:29,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 201 transitions. [2022-04-08 10:45:29,163 INFO L78 Accepts]: Start accepts. Automaton has 141 states and 201 transitions. Word has length 64 [2022-04-08 10:45:29,163 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:45:29,163 INFO L478 AbstractCegarLoop]: Abstraction has 141 states and 201 transitions. [2022-04-08 10:45:29,164 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 10:45:29,164 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 141 states and 201 transitions. [2022-04-08 10:45:29,443 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 10:45:29,444 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 201 transitions. [2022-04-08 10:45:29,444 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 10:45:29,444 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:45:29,444 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 10:45:29,461 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 10:45:29,644 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 10:45:29,645 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:45:29,645 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:45:29,645 INFO L85 PathProgramCache]: Analyzing trace with hash 1412509540, now seen corresponding path program 3 times [2022-04-08 10:45:29,645 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:29,645 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [972532905] [2022-04-08 10:45:29,646 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:45:29,646 INFO L85 PathProgramCache]: Analyzing trace with hash 1412509540, now seen corresponding path program 4 times [2022-04-08 10:45:29,646 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:45:29,646 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1740835270] [2022-04-08 10:45:29,646 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:45:29,646 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:45:29,671 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:45:29,671 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1199151512] [2022-04-08 10:45:29,671 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:45:29,671 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:45:29,672 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:45:29,672 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 10:45:29,673 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 10:45:29,724 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:45:29,725 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:45:29,726 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-08 10:45:29,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:29,739 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:45:30,530 INFO L272 TraceCheckUtils]: 0: Hoare triple {6022#true} call ULTIMATE.init(); {6022#true} is VALID [2022-04-08 10:45:30,531 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 10:45:30,531 INFO L290 TraceCheckUtils]: 2: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:30,531 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6022#true} {6022#true} #96#return; {6022#true} is VALID [2022-04-08 10:45:30,531 INFO L272 TraceCheckUtils]: 4: Hoare triple {6022#true} call #t~ret6 := main(); {6022#true} is VALID [2022-04-08 10:45:30,531 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 10:45:30,531 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 10:45:30,531 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 10:45:30,532 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 10:45:30,532 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 10:45:30,532 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 10:45:30,533 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 10:45:30,533 INFO L290 TraceCheckUtils]: 12: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:30,533 INFO L290 TraceCheckUtils]: 13: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:30,533 INFO L290 TraceCheckUtils]: 14: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:30,533 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 10:45:30,534 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 10:45:30,534 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 10:45:30,534 INFO L290 TraceCheckUtils]: 18: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:30,534 INFO L290 TraceCheckUtils]: 19: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:30,534 INFO L290 TraceCheckUtils]: 20: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:30,535 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 10:45:30,535 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 10:45:30,535 INFO L290 TraceCheckUtils]: 23: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:30,535 INFO L290 TraceCheckUtils]: 24: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:30,535 INFO L290 TraceCheckUtils]: 25: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:30,536 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 10:45:30,536 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 10:45:30,536 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 10:45:30,537 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 10:45:30,537 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 10:45:30,537 INFO L290 TraceCheckUtils]: 31: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:30,537 INFO L290 TraceCheckUtils]: 32: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:30,537 INFO L290 TraceCheckUtils]: 33: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:30,538 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 10:45:30,538 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 10:45:30,538 INFO L290 TraceCheckUtils]: 36: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:30,538 INFO L290 TraceCheckUtils]: 37: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:30,538 INFO L290 TraceCheckUtils]: 38: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:30,539 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 10:45:30,539 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 10:45:30,539 INFO L290 TraceCheckUtils]: 41: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:30,539 INFO L290 TraceCheckUtils]: 42: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:30,539 INFO L290 TraceCheckUtils]: 43: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:30,540 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 10:45:30,540 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 10:45:30,540 INFO L290 TraceCheckUtils]: 46: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:30,540 INFO L290 TraceCheckUtils]: 47: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:30,540 INFO L290 TraceCheckUtils]: 48: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:30,541 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 10:45:30,541 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 10:45:30,542 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 10:45:30,542 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 10:45:30,543 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 10:45:30,543 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 10:45:30,543 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 10:45:30,543 INFO L290 TraceCheckUtils]: 56: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:30,543 INFO L290 TraceCheckUtils]: 57: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:30,544 INFO L290 TraceCheckUtils]: 58: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:30,544 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 10:45:30,544 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 10:45:30,544 INFO L290 TraceCheckUtils]: 61: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:30,544 INFO L290 TraceCheckUtils]: 62: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:30,545 INFO L290 TraceCheckUtils]: 63: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:30,545 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 10:45:30,546 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 10:45:30,546 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 10:45:30,547 INFO L290 TraceCheckUtils]: 67: Hoare triple {6233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6023#false} is VALID [2022-04-08 10:45:30,547 INFO L290 TraceCheckUtils]: 68: Hoare triple {6023#false} assume !false; {6023#false} is VALID [2022-04-08 10:45:30,547 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 10:45:30,547 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:45:31,042 INFO L290 TraceCheckUtils]: 68: Hoare triple {6023#false} assume !false; {6023#false} is VALID [2022-04-08 10:45:31,043 INFO L290 TraceCheckUtils]: 67: Hoare triple {6233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6023#false} is VALID [2022-04-08 10:45:31,043 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 10:45:31,047 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 10:45:31,047 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 10:45:31,048 INFO L290 TraceCheckUtils]: 63: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:31,048 INFO L290 TraceCheckUtils]: 62: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:31,048 INFO L290 TraceCheckUtils]: 61: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:31,048 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 10:45:31,048 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 10:45:31,049 INFO L290 TraceCheckUtils]: 58: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:31,049 INFO L290 TraceCheckUtils]: 57: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:31,049 INFO L290 TraceCheckUtils]: 56: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:31,049 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 10:45:31,049 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 10:45:31,050 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 10:45:31,050 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 10:45:33,051 WARN 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 UNKNOWN [2022-04-08 10:45:33,052 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 10:45:33,053 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 10:45:33,053 INFO L290 TraceCheckUtils]: 48: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:33,053 INFO L290 TraceCheckUtils]: 47: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:33,053 INFO L290 TraceCheckUtils]: 46: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:33,054 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 10:45:33,054 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 10:45:33,054 INFO L290 TraceCheckUtils]: 43: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:33,054 INFO L290 TraceCheckUtils]: 42: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:33,055 INFO L290 TraceCheckUtils]: 41: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:33,055 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 10:45:33,055 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 10:45:33,055 INFO L290 TraceCheckUtils]: 38: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:33,056 INFO L290 TraceCheckUtils]: 37: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:33,056 INFO L290 TraceCheckUtils]: 36: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:33,056 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 10:45:33,056 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 10:45:33,057 INFO L290 TraceCheckUtils]: 33: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:33,057 INFO L290 TraceCheckUtils]: 32: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:33,057 INFO L290 TraceCheckUtils]: 31: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:33,057 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 10:45:33,057 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 10:45:33,058 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 10:45:33,058 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 10:45:33,059 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 10:45:33,059 INFO L290 TraceCheckUtils]: 25: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:33,059 INFO L290 TraceCheckUtils]: 24: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:33,059 INFO L290 TraceCheckUtils]: 23: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:33,059 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 10:45:33,060 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 10:45:33,060 INFO L290 TraceCheckUtils]: 20: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:33,060 INFO L290 TraceCheckUtils]: 19: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:33,060 INFO L290 TraceCheckUtils]: 18: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:33,060 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 10:45:33,060 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 10:45:33,061 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6022#true} {6022#true} #78#return; {6022#true} is VALID [2022-04-08 10:45:33,061 INFO L290 TraceCheckUtils]: 14: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:33,061 INFO L290 TraceCheckUtils]: 13: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:33,061 INFO L290 TraceCheckUtils]: 12: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:33,061 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 10:45:33,061 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6022#true} {6022#true} #76#return; {6022#true} is VALID [2022-04-08 10:45:33,061 INFO L290 TraceCheckUtils]: 9: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:33,061 INFO L290 TraceCheckUtils]: 8: Hoare triple {6022#true} assume !(0 == ~cond); {6022#true} is VALID [2022-04-08 10:45:33,061 INFO L290 TraceCheckUtils]: 7: Hoare triple {6022#true} ~cond := #in~cond; {6022#true} is VALID [2022-04-08 10:45:33,061 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 10:45:33,061 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 10:45:33,061 INFO L272 TraceCheckUtils]: 4: Hoare triple {6022#true} call #t~ret6 := main(); {6022#true} is VALID [2022-04-08 10:45:33,062 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6022#true} {6022#true} #96#return; {6022#true} is VALID [2022-04-08 10:45:33,062 INFO L290 TraceCheckUtils]: 2: Hoare triple {6022#true} assume true; {6022#true} is VALID [2022-04-08 10:45:33,062 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 10:45:33,062 INFO L272 TraceCheckUtils]: 0: Hoare triple {6022#true} call ULTIMATE.init(); {6022#true} is VALID [2022-04-08 10:45:33,062 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 10:45:33,062 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:45:33,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1740835270] [2022-04-08 10:45:33,063 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:45:33,063 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1199151512] [2022-04-08 10:45:33,063 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1199151512] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:45:33,063 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:45:33,063 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-08 10:45:33,063 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:45:33,063 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [972532905] [2022-04-08 10:45:33,064 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [972532905] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:45:33,064 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:45:33,064 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 10:45:33,064 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [797789896] [2022-04-08 10:45:33,064 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:45:33,064 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 10:45:33,065 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:45:33,065 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 10:45:33,118 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 10:45:33,119 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 10:45:33,119 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:33,119 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 10:45:33,119 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-08 10:45:33,120 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 10:45:34,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:34,661 INFO L93 Difference]: Finished difference Result 153 states and 211 transitions. [2022-04-08 10:45:34,661 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 10:45:34,661 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 10:45:34,661 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:45:34,661 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 10:45:34,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 86 transitions. [2022-04-08 10:45:34,663 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 10:45:34,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 86 transitions. [2022-04-08 10:45:34,665 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 86 transitions. [2022-04-08 10:45:34,766 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 10:45:34,769 INFO L225 Difference]: With dead ends: 153 [2022-04-08 10:45:34,769 INFO L226 Difference]: Without dead ends: 151 [2022-04-08 10:45:34,770 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 141 GetRequests, 123 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 46 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=68, Invalid=274, Unknown=0, NotChecked=0, Total=342 [2022-04-08 10:45:34,770 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 33 mSDsluCounter, 174 mSDsCounter, 0 mSdLazyCounter, 315 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:45:34,770 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.5s Time] [2022-04-08 10:45:34,771 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2022-04-08 10:45:34,989 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 149. [2022-04-08 10:45:34,990 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:45:34,990 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 10:45:34,990 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 10:45:34,991 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 10:45:34,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:34,996 INFO L93 Difference]: Finished difference Result 151 states and 209 transitions. [2022-04-08 10:45:34,997 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 209 transitions. [2022-04-08 10:45:34,997 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:34,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:34,998 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 10:45:34,998 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 10:45:35,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:35,004 INFO L93 Difference]: Finished difference Result 151 states and 209 transitions. [2022-04-08 10:45:35,004 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 209 transitions. [2022-04-08 10:45:35,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:35,005 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:35,005 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:45:35,005 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:45:35,005 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 10:45:35,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 207 transitions. [2022-04-08 10:45:35,011 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 207 transitions. Word has length 69 [2022-04-08 10:45:35,011 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:45:35,011 INFO L478 AbstractCegarLoop]: Abstraction has 149 states and 207 transitions. [2022-04-08 10:45:35,011 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 10:45:35,012 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 149 states and 207 transitions. [2022-04-08 10:45:35,374 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 10:45:35,375 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 207 transitions. [2022-04-08 10:45:35,375 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-08 10:45:35,376 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:45:35,376 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 10:45:35,395 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 10:45:35,584 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 10:45:35,584 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:45:35,584 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:45:35,585 INFO L85 PathProgramCache]: Analyzing trace with hash -1763593091, now seen corresponding path program 5 times [2022-04-08 10:45:35,585 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:35,585 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [595287666] [2022-04-08 10:45:35,585 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:45:35,585 INFO L85 PathProgramCache]: Analyzing trace with hash -1763593091, now seen corresponding path program 6 times [2022-04-08 10:45:35,585 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:45:35,585 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1246773050] [2022-04-08 10:45:35,585 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:45:35,585 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:45:35,601 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:45:35,602 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [380910913] [2022-04-08 10:45:35,602 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:45:35,602 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:45:35,602 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:45:35,603 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 10:45:35,608 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 10:45:35,663 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 10:45:35,663 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:45:35,665 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-08 10:45:35,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:35,695 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:45:36,402 INFO L272 TraceCheckUtils]: 0: Hoare triple {7364#true} call ULTIMATE.init(); {7364#true} is VALID [2022-04-08 10:45:36,403 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 10:45:36,403 INFO L290 TraceCheckUtils]: 2: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 10:45:36,403 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7364#true} {7364#true} #96#return; {7364#true} is VALID [2022-04-08 10:45:36,403 INFO L272 TraceCheckUtils]: 4: Hoare triple {7364#true} call #t~ret6 := main(); {7364#true} is VALID [2022-04-08 10:45:36,403 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 10:45:36,403 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 10:45:36,403 INFO L290 TraceCheckUtils]: 7: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-08 10:45:36,403 INFO L290 TraceCheckUtils]: 8: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-08 10:45:36,403 INFO L290 TraceCheckUtils]: 9: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 10:45:36,403 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7364#true} {7364#true} #76#return; {7364#true} is VALID [2022-04-08 10:45:36,404 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 10:45:36,404 INFO L290 TraceCheckUtils]: 12: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-08 10:45:36,404 INFO L290 TraceCheckUtils]: 13: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-08 10:45:36,404 INFO L290 TraceCheckUtils]: 14: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 10:45:36,404 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7364#true} {7364#true} #78#return; {7364#true} is VALID [2022-04-08 10:45:36,404 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 10:45:36,405 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 10:45:36,405 INFO L290 TraceCheckUtils]: 18: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-08 10:45:36,405 INFO L290 TraceCheckUtils]: 19: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-08 10:45:36,405 INFO L290 TraceCheckUtils]: 20: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 10:45:36,406 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 10:45:36,406 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 10:45:36,406 INFO L290 TraceCheckUtils]: 23: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-08 10:45:36,406 INFO L290 TraceCheckUtils]: 24: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-08 10:45:36,407 INFO L290 TraceCheckUtils]: 25: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 10:45:36,408 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 10:45:36,409 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 10:45:36,412 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 10:45:36,412 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 10:45:36,412 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 10:45:36,413 INFO L290 TraceCheckUtils]: 31: Hoare triple {7364#true} ~cond := #in~cond; {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:45:36,414 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 10:45:36,414 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 10:45:36,415 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 10:45:36,415 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 10:45:36,415 INFO L290 TraceCheckUtils]: 36: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-08 10:45:36,415 INFO L290 TraceCheckUtils]: 37: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-08 10:45:36,415 INFO L290 TraceCheckUtils]: 38: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 10:45:36,416 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 10:45:36,416 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 10:45:36,416 INFO L290 TraceCheckUtils]: 41: Hoare triple {7364#true} ~cond := #in~cond; {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:45:36,417 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 10:45:36,417 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 10:45:36,418 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 10:45:36,418 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 10:45:36,418 INFO L290 TraceCheckUtils]: 46: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-08 10:45:36,418 INFO L290 TraceCheckUtils]: 47: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-08 10:45:36,418 INFO L290 TraceCheckUtils]: 48: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 10:45:36,419 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 10:45:36,419 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 10:45:36,420 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 10:45:36,420 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 10:45:36,421 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 10:45:36,421 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 10:45:36,421 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 10:45:36,421 INFO L290 TraceCheckUtils]: 56: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-08 10:45:36,421 INFO L290 TraceCheckUtils]: 57: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-08 10:45:36,421 INFO L290 TraceCheckUtils]: 58: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 10:45:36,422 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 10:45:36,422 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 10:45:36,422 INFO L290 TraceCheckUtils]: 61: Hoare triple {7364#true} ~cond := #in~cond; {7364#true} is VALID [2022-04-08 10:45:36,422 INFO L290 TraceCheckUtils]: 62: Hoare triple {7364#true} assume !(0 == ~cond); {7364#true} is VALID [2022-04-08 10:45:36,422 INFO L290 TraceCheckUtils]: 63: Hoare triple {7364#true} assume true; {7364#true} is VALID [2022-04-08 10:45:36,423 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 10:45:36,423 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 10:45:36,423 INFO L290 TraceCheckUtils]: 66: Hoare triple {7364#true} ~cond := #in~cond; {7464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:45:36,424 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 10:45:36,424 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 10:45:36,425 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 10:45:36,428 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 10:45:36,428 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 10:45:36,429 INFO L290 TraceCheckUtils]: 72: Hoare triple {7590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7365#false} is VALID [2022-04-08 10:45:36,429 INFO L290 TraceCheckUtils]: 73: Hoare triple {7365#false} assume !false; {7365#false} is VALID [2022-04-08 10:45:36,429 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 10:45:36,429 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:46:28,166 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:46:28,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1246773050] [2022-04-08 10:46:28,167 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:46:28,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [380910913] [2022-04-08 10:46:28,167 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [380910913] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:46:28,167 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 10:46:28,167 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-08 10:46:28,168 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:46:28,168 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [595287666] [2022-04-08 10:46:28,168 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [595287666] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:46:28,168 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:46:28,168 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 10:46:28,168 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [55732475] [2022-04-08 10:46:28,168 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:46:28,169 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 10:46:28,169 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:46:28,169 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 10:46:28,215 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 10:46:28,215 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 10:46:28,215 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:46:28,215 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 10:46:28,215 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-08 10:46:28,216 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 10:46:29,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:46:29,572 INFO L93 Difference]: Finished difference Result 161 states and 217 transitions. [2022-04-08 10:46:29,572 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 10:46:29,572 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 10:46:29,572 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:46:29,573 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 10:46:29,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 93 transitions. [2022-04-08 10:46:29,575 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 10:46:29,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 93 transitions. [2022-04-08 10:46:29,577 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 93 transitions. [2022-04-08 10:46:29,675 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 10:46:29,679 INFO L225 Difference]: With dead ends: 161 [2022-04-08 10:46:29,680 INFO L226 Difference]: Without dead ends: 159 [2022-04-08 10:46:29,680 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 10:46:29,681 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 23 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 330 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:46:29,681 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.5s Time] [2022-04-08 10:46:29,681 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2022-04-08 10:46:29,900 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 157. [2022-04-08 10:46:29,900 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:46:29,901 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 10:46:29,901 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 10:46:29,901 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 10:46:29,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:46:29,907 INFO L93 Difference]: Finished difference Result 159 states and 215 transitions. [2022-04-08 10:46:29,907 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 215 transitions. [2022-04-08 10:46:29,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:46:29,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:46:29,908 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 10:46:29,908 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 10:46:29,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:46:29,914 INFO L93 Difference]: Finished difference Result 159 states and 215 transitions. [2022-04-08 10:46:29,914 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 215 transitions. [2022-04-08 10:46:29,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:46:29,915 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:46:29,915 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:46:29,915 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:46:29,915 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 10:46:29,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 213 transitions. [2022-04-08 10:46:29,921 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 213 transitions. Word has length 74 [2022-04-08 10:46:29,921 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:46:29,921 INFO L478 AbstractCegarLoop]: Abstraction has 157 states and 213 transitions. [2022-04-08 10:46:29,921 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 10:46:29,921 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 213 transitions. [2022-04-08 10:46:30,237 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 10:46:30,237 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 213 transitions. [2022-04-08 10:46:30,238 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-08 10:46:30,238 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:46:30,238 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 10:46:30,255 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 10:46:30,438 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 10:46:30,439 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:46:30,439 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:46:30,439 INFO L85 PathProgramCache]: Analyzing trace with hash -1525288661, now seen corresponding path program 3 times [2022-04-08 10:46:30,439 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:46:30,439 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1386088573] [2022-04-08 10:46:30,440 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:46:30,440 INFO L85 PathProgramCache]: Analyzing trace with hash -1525288661, now seen corresponding path program 4 times [2022-04-08 10:46:30,440 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:46:30,440 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [472349020] [2022-04-08 10:46:30,440 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:46:30,440 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:46:30,451 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:46:30,451 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1906656285] [2022-04-08 10:46:30,451 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:46:30,451 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:46:30,452 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:46:30,452 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 10:46:30,463 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 10:46:30,526 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:46:30,526 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:46:30,527 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-08 10:46:30,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:46:30,542 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:46:31,307 INFO L272 TraceCheckUtils]: 0: Hoare triple {8571#true} call ULTIMATE.init(); {8571#true} is VALID [2022-04-08 10:46:31,307 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 10:46:31,308 INFO L290 TraceCheckUtils]: 2: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:31,308 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8571#true} {8571#true} #96#return; {8571#true} is VALID [2022-04-08 10:46:31,308 INFO L272 TraceCheckUtils]: 4: Hoare triple {8571#true} call #t~ret6 := main(); {8571#true} is VALID [2022-04-08 10:46:31,308 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 10:46:31,308 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 10:46:31,308 INFO L290 TraceCheckUtils]: 7: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:31,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:31,308 INFO L290 TraceCheckUtils]: 9: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:31,308 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8571#true} {8571#true} #76#return; {8571#true} is VALID [2022-04-08 10:46:31,309 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 10:46:31,310 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 10:46:31,310 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 10:46:31,310 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 10:46:31,311 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 10:46:31,312 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 10:46:31,312 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 10:46:31,312 INFO L290 TraceCheckUtils]: 18: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:31,312 INFO L290 TraceCheckUtils]: 19: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:31,312 INFO L290 TraceCheckUtils]: 20: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:31,313 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 10:46:31,313 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 10:46:31,313 INFO L290 TraceCheckUtils]: 23: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:31,313 INFO L290 TraceCheckUtils]: 24: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:31,313 INFO L290 TraceCheckUtils]: 25: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:31,314 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 10:46:31,314 INFO L290 TraceCheckUtils]: 27: Hoare triple {8627#(<= 1 main_~b~0)} assume !false; {8627#(<= 1 main_~b~0)} is VALID [2022-04-08 10:46:31,314 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 10:46:31,315 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 10:46:31,315 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 10:46:31,315 INFO L290 TraceCheckUtils]: 31: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:31,315 INFO L290 TraceCheckUtils]: 32: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:31,315 INFO L290 TraceCheckUtils]: 33: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:31,316 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 10:46:31,316 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 10:46:31,316 INFO L290 TraceCheckUtils]: 36: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:31,316 INFO L290 TraceCheckUtils]: 37: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:31,316 INFO L290 TraceCheckUtils]: 38: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:31,317 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 10:46:31,317 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 10:46:31,317 INFO L290 TraceCheckUtils]: 41: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:31,318 INFO L290 TraceCheckUtils]: 42: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:31,318 INFO L290 TraceCheckUtils]: 43: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:31,318 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 10:46:31,318 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 10:46:31,319 INFO L290 TraceCheckUtils]: 46: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:31,319 INFO L290 TraceCheckUtils]: 47: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:31,319 INFO L290 TraceCheckUtils]: 48: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:31,320 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 10:46:31,320 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 10:46:31,321 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 10:46:31,321 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 10:46:31,321 INFO L290 TraceCheckUtils]: 53: Hoare triple {8571#true} ~cond := #in~cond; {8741#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:46:31,322 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 10:46:31,322 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 10:46:31,323 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 10:46:31,323 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 10:46:31,323 INFO L290 TraceCheckUtils]: 58: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:31,323 INFO L290 TraceCheckUtils]: 59: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:31,323 INFO L290 TraceCheckUtils]: 60: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:31,324 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 10:46:31,324 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 10:46:31,324 INFO L290 TraceCheckUtils]: 63: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:31,324 INFO L290 TraceCheckUtils]: 64: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:31,325 INFO L290 TraceCheckUtils]: 65: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:31,325 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 10:46:31,325 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 10:46:31,326 INFO L290 TraceCheckUtils]: 68: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:31,326 INFO L290 TraceCheckUtils]: 69: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:31,326 INFO L290 TraceCheckUtils]: 70: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:31,327 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 10:46:31,329 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 10:46:31,330 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 10:46:31,331 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 10:46:31,331 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 10:46:31,332 INFO L290 TraceCheckUtils]: 76: Hoare triple {8812#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8572#false} is VALID [2022-04-08 10:46:31,332 INFO L290 TraceCheckUtils]: 77: Hoare triple {8572#false} assume !false; {8572#false} is VALID [2022-04-08 10:46:31,332 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 10:46:31,332 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:46:37,134 INFO L290 TraceCheckUtils]: 77: Hoare triple {8572#false} assume !false; {8572#false} is VALID [2022-04-08 10:46:37,135 INFO L290 TraceCheckUtils]: 76: Hoare triple {8812#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8572#false} is VALID [2022-04-08 10:46:37,135 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 10:46:37,136 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 10:46:37,136 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 10:46:37,152 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 10:46:37,153 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 10:46:37,153 INFO L290 TraceCheckUtils]: 70: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:37,154 INFO L290 TraceCheckUtils]: 69: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:37,154 INFO L290 TraceCheckUtils]: 68: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:37,154 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 10:46:37,155 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 10:46:37,155 INFO L290 TraceCheckUtils]: 65: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:37,155 INFO L290 TraceCheckUtils]: 64: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:37,155 INFO L290 TraceCheckUtils]: 63: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:37,155 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 10:46:37,156 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 10:46:37,156 INFO L290 TraceCheckUtils]: 60: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:37,156 INFO L290 TraceCheckUtils]: 59: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:37,156 INFO L290 TraceCheckUtils]: 58: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:37,156 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 10:46:37,156 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 10:46:37,157 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 10:46:37,157 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 10:46:37,157 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 10:46:37,158 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 10:46:37,158 INFO L290 TraceCheckUtils]: 51: Hoare triple {8571#true} assume !false; {8571#true} is VALID [2022-04-08 10:46:37,158 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 10:46:37,158 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {8571#true} {8571#true} #90#return; {8571#true} is VALID [2022-04-08 10:46:37,158 INFO L290 TraceCheckUtils]: 48: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:37,158 INFO L290 TraceCheckUtils]: 47: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:37,158 INFO L290 TraceCheckUtils]: 46: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:37,158 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 10:46:37,158 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {8571#true} {8571#true} #88#return; {8571#true} is VALID [2022-04-08 10:46:37,158 INFO L290 TraceCheckUtils]: 43: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:37,159 INFO L290 TraceCheckUtils]: 42: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:37,159 INFO L290 TraceCheckUtils]: 41: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:37,159 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 10:46:37,159 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8571#true} {8571#true} #86#return; {8571#true} is VALID [2022-04-08 10:46:37,159 INFO L290 TraceCheckUtils]: 38: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:37,159 INFO L290 TraceCheckUtils]: 37: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:37,159 INFO L290 TraceCheckUtils]: 36: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:37,159 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 10:46:37,159 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8571#true} {8571#true} #84#return; {8571#true} is VALID [2022-04-08 10:46:37,159 INFO L290 TraceCheckUtils]: 33: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:37,159 INFO L290 TraceCheckUtils]: 32: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:37,160 INFO L290 TraceCheckUtils]: 31: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:37,160 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 10:46:37,160 INFO L290 TraceCheckUtils]: 29: Hoare triple {8571#true} assume !false; {8571#true} is VALID [2022-04-08 10:46:37,160 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 10:46:37,160 INFO L290 TraceCheckUtils]: 27: Hoare triple {8571#true} assume !false; {8571#true} is VALID [2022-04-08 10:46:37,160 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8571#true} {8571#true} #82#return; {8571#true} is VALID [2022-04-08 10:46:37,160 INFO L290 TraceCheckUtils]: 25: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:37,160 INFO L290 TraceCheckUtils]: 24: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:37,160 INFO L290 TraceCheckUtils]: 23: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:37,160 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 10:46:37,160 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8571#true} {8571#true} #80#return; {8571#true} is VALID [2022-04-08 10:46:37,160 INFO L290 TraceCheckUtils]: 20: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:37,161 INFO L290 TraceCheckUtils]: 19: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:37,161 INFO L290 TraceCheckUtils]: 18: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:37,161 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 10:46:37,161 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 10:46:37,161 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8571#true} {8571#true} #78#return; {8571#true} is VALID [2022-04-08 10:46:37,161 INFO L290 TraceCheckUtils]: 14: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:37,161 INFO L290 TraceCheckUtils]: 13: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:37,161 INFO L290 TraceCheckUtils]: 12: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:37,161 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 10:46:37,162 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8571#true} {8571#true} #76#return; {8571#true} is VALID [2022-04-08 10:46:37,162 INFO L290 TraceCheckUtils]: 9: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:37,162 INFO L290 TraceCheckUtils]: 8: Hoare triple {8571#true} assume !(0 == ~cond); {8571#true} is VALID [2022-04-08 10:46:37,162 INFO L290 TraceCheckUtils]: 7: Hoare triple {8571#true} ~cond := #in~cond; {8571#true} is VALID [2022-04-08 10:46:37,162 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 10:46:37,162 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 10:46:37,162 INFO L272 TraceCheckUtils]: 4: Hoare triple {8571#true} call #t~ret6 := main(); {8571#true} is VALID [2022-04-08 10:46:37,162 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8571#true} {8571#true} #96#return; {8571#true} is VALID [2022-04-08 10:46:37,162 INFO L290 TraceCheckUtils]: 2: Hoare triple {8571#true} assume true; {8571#true} is VALID [2022-04-08 10:46:37,162 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 10:46:37,163 INFO L272 TraceCheckUtils]: 0: Hoare triple {8571#true} call ULTIMATE.init(); {8571#true} is VALID [2022-04-08 10:46:37,163 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 10:46:37,163 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:46:37,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [472349020] [2022-04-08 10:46:37,163 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:46:37,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1906656285] [2022-04-08 10:46:37,164 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1906656285] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:46:37,164 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:46:37,164 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 7] total 16 [2022-04-08 10:46:37,164 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:46:37,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1386088573] [2022-04-08 10:46:37,164 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1386088573] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:46:37,164 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:46:37,164 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 10:46:37,164 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2070210335] [2022-04-08 10:46:37,165 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:46:37,165 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 10:46:37,165 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:46:37,166 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 10:46:37,215 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 10:46:37,215 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 10:46:37,215 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:46:37,215 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 10:46:37,216 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=199, Unknown=0, NotChecked=0, Total=240 [2022-04-08 10:46:37,216 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 10:46:40,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:46:40,106 INFO L93 Difference]: Finished difference Result 179 states and 242 transitions. [2022-04-08 10:46:40,106 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 10:46:40,106 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 10:46:40,107 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:46:40,107 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 10:46:40,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 96 transitions. [2022-04-08 10:46:40,109 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 10:46:40,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 96 transitions. [2022-04-08 10:46:40,110 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 96 transitions. [2022-04-08 10:46:40,228 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 10:46:40,232 INFO L225 Difference]: With dead ends: 179 [2022-04-08 10:46:40,232 INFO L226 Difference]: Without dead ends: 177 [2022-04-08 10:46:40,233 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 10:46:40,233 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 42 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 427 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:46:40,233 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.1s Time] [2022-04-08 10:46:40,234 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 177 states. [2022-04-08 10:46:40,467 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 177 to 171. [2022-04-08 10:46:40,467 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:46:40,468 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 10:46:40,468 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 10:46:40,468 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 10:46:40,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:46:40,475 INFO L93 Difference]: Finished difference Result 177 states and 240 transitions. [2022-04-08 10:46:40,475 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 240 transitions. [2022-04-08 10:46:40,476 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:46:40,476 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:46:40,481 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 10:46:40,481 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 10:46:40,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:46:40,509 INFO L93 Difference]: Finished difference Result 177 states and 240 transitions. [2022-04-08 10:46:40,509 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 240 transitions. [2022-04-08 10:46:40,510 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:46:40,510 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:46:40,510 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:46:40,510 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:46:40,512 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 10:46:40,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 171 states to 171 states and 230 transitions. [2022-04-08 10:46:40,519 INFO L78 Accepts]: Start accepts. Automaton has 171 states and 230 transitions. Word has length 78 [2022-04-08 10:46:40,519 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:46:40,519 INFO L478 AbstractCegarLoop]: Abstraction has 171 states and 230 transitions. [2022-04-08 10:46:40,519 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 10:46:40,519 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 171 states and 230 transitions. [2022-04-08 10:46:40,837 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 10:46:40,838 INFO L276 IsEmpty]: Start isEmpty. Operand 171 states and 230 transitions. [2022-04-08 10:46:40,838 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-08 10:46:40,838 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:46:40,838 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 10:46:40,855 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 10:46:41,043 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 10:46:41,044 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:46:41,044 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:46:41,044 INFO L85 PathProgramCache]: Analyzing trace with hash 815826741, now seen corresponding path program 1 times [2022-04-08 10:46:41,044 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:46:41,044 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1364692005] [2022-04-08 10:46:41,044 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:46:41,045 INFO L85 PathProgramCache]: Analyzing trace with hash 815826741, now seen corresponding path program 2 times [2022-04-08 10:46:41,045 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:46:41,045 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [812072272] [2022-04-08 10:46:41,045 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:46:41,045 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:46:41,058 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:46:41,058 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1012065034] [2022-04-08 10:46:41,058 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:46:41,058 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:46:41,059 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:46:41,060 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 10:46:41,065 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 10:46:41,109 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:46:41,109 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:46:41,110 INFO L263 TraceCheckSpWp]: Trace formula consists of 215 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-08 10:46:41,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:46:41,127 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:46:41,954 INFO L272 TraceCheckUtils]: 0: Hoare triple {10122#true} call ULTIMATE.init(); {10122#true} is VALID [2022-04-08 10:46:41,955 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 10:46:41,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:46:41,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10122#true} {10122#true} #96#return; {10122#true} is VALID [2022-04-08 10:46:41,955 INFO L272 TraceCheckUtils]: 4: Hoare triple {10122#true} call #t~ret6 := main(); {10122#true} is VALID [2022-04-08 10:46:41,955 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 10:46:41,955 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 10:46:41,955 INFO L290 TraceCheckUtils]: 7: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:46:41,955 INFO L290 TraceCheckUtils]: 8: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:46:41,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:46:41,955 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10122#true} {10122#true} #76#return; {10122#true} is VALID [2022-04-08 10:46:41,956 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 10:46:41,956 INFO L290 TraceCheckUtils]: 12: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:46:41,956 INFO L290 TraceCheckUtils]: 13: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:46:41,956 INFO L290 TraceCheckUtils]: 14: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:46:41,956 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10122#true} {10122#true} #78#return; {10122#true} is VALID [2022-04-08 10:46:41,957 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 10:46:41,957 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 10:46:41,957 INFO L290 TraceCheckUtils]: 18: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:46:41,957 INFO L290 TraceCheckUtils]: 19: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:46:41,957 INFO L290 TraceCheckUtils]: 20: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:46:41,958 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 10:46:41,958 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 10:46:41,958 INFO L290 TraceCheckUtils]: 23: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:46:41,958 INFO L290 TraceCheckUtils]: 24: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:46:41,958 INFO L290 TraceCheckUtils]: 25: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:46:41,959 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 10:46:41,960 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 10:46:41,960 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 10:46:41,961 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 10:46:41,961 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 10:46:41,961 INFO L290 TraceCheckUtils]: 31: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:46:41,961 INFO L290 TraceCheckUtils]: 32: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:46:41,961 INFO L290 TraceCheckUtils]: 33: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:46:41,962 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 10:46:41,962 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 10:46:41,962 INFO L290 TraceCheckUtils]: 36: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:46:41,962 INFO L290 TraceCheckUtils]: 37: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:46:41,962 INFO L290 TraceCheckUtils]: 38: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:46:41,963 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 10:46:41,963 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 10:46:41,963 INFO L290 TraceCheckUtils]: 41: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:46:41,964 INFO L290 TraceCheckUtils]: 42: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:46:41,964 INFO L290 TraceCheckUtils]: 43: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:46:41,965 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 10:46:41,965 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 10:46:41,965 INFO L290 TraceCheckUtils]: 46: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:46:41,965 INFO L290 TraceCheckUtils]: 47: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:46:41,965 INFO L290 TraceCheckUtils]: 48: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:46:41,966 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 10:46:41,967 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 10:46:41,967 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 10:46:41,967 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 10:46:41,967 INFO L290 TraceCheckUtils]: 53: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:46:41,968 INFO L290 TraceCheckUtils]: 54: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:46:41,968 INFO L290 TraceCheckUtils]: 55: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:46:41,968 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 10:46:41,969 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 10:46:41,969 INFO L290 TraceCheckUtils]: 58: Hoare triple {10122#true} ~cond := #in~cond; {10304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:46:41,969 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 10:46:41,970 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 10:46:41,971 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 10:46:41,972 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 10:46:41,972 INFO L290 TraceCheckUtils]: 63: Hoare triple {10122#true} ~cond := #in~cond; {10304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:46:41,972 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 10:46:41,973 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 10:46:41,973 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 10:46:41,974 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 10:46:41,974 INFO L290 TraceCheckUtils]: 68: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:46:41,974 INFO L290 TraceCheckUtils]: 69: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:46:41,974 INFO L290 TraceCheckUtils]: 70: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:46:41,975 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 10:46:41,975 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 10:46:41,977 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 10:46:41,977 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 10:46:41,978 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 10:46:41,979 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 10:46:41,979 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 10:46:41,980 INFO L290 TraceCheckUtils]: 78: Hoare triple {10368#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10123#false} is VALID [2022-04-08 10:46:41,980 INFO L290 TraceCheckUtils]: 79: Hoare triple {10123#false} assume !false; {10123#false} is VALID [2022-04-08 10:46:41,980 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 10:46:41,980 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:48:10,034 INFO L290 TraceCheckUtils]: 79: Hoare triple {10123#false} assume !false; {10123#false} is VALID [2022-04-08 10:48:10,035 INFO L290 TraceCheckUtils]: 78: Hoare triple {10368#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10123#false} is VALID [2022-04-08 10:48:10,035 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 10:48:10,036 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 10:48:10,036 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 10:48:10,037 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 10:48:10,326 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 10:48:10,327 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 10:48:10,327 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 10:48:10,328 INFO L290 TraceCheckUtils]: 70: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:48:10,328 INFO L290 TraceCheckUtils]: 69: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:48:10,328 INFO L290 TraceCheckUtils]: 68: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:48:10,328 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 10:48:10,329 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 10:48:10,329 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 10:48:10,329 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 10:48:10,330 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 10:48:10,330 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 10:48:10,331 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 10:48:10,331 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 10:48:10,348 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 10:48:10,348 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 10:48:10,348 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 10:48:10,349 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 10:48:10,349 INFO L290 TraceCheckUtils]: 55: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:48:10,349 INFO L290 TraceCheckUtils]: 54: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:48:10,349 INFO L290 TraceCheckUtils]: 53: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:48:10,349 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 10:48:10,350 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 10:48:10,751 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 10:48:10,752 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 10:48:10,752 INFO L290 TraceCheckUtils]: 48: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:48:10,752 INFO L290 TraceCheckUtils]: 47: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:48:10,752 INFO L290 TraceCheckUtils]: 46: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:48:10,752 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 10:48:10,753 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 10:48:10,753 INFO L290 TraceCheckUtils]: 43: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:48:10,753 INFO L290 TraceCheckUtils]: 42: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:48:10,753 INFO L290 TraceCheckUtils]: 41: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:48:10,753 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 10:48:10,754 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 10:48:10,754 INFO L290 TraceCheckUtils]: 38: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:48:10,754 INFO L290 TraceCheckUtils]: 37: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:48:10,754 INFO L290 TraceCheckUtils]: 36: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:48:10,754 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 10:48:10,755 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 10:48:10,755 INFO L290 TraceCheckUtils]: 33: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:48:10,755 INFO L290 TraceCheckUtils]: 32: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:48:10,755 INFO L290 TraceCheckUtils]: 31: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:48:10,755 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 10:48:10,756 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 10:48:10,757 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 10:48:10,757 INFO L290 TraceCheckUtils]: 27: Hoare triple {10122#true} assume !false; {10122#true} is VALID [2022-04-08 10:48:10,757 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10122#true} {10122#true} #82#return; {10122#true} is VALID [2022-04-08 10:48:10,757 INFO L290 TraceCheckUtils]: 25: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:48:10,757 INFO L290 TraceCheckUtils]: 24: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:48:10,757 INFO L290 TraceCheckUtils]: 23: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:48:10,758 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 10:48:10,758 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10122#true} {10122#true} #80#return; {10122#true} is VALID [2022-04-08 10:48:10,758 INFO L290 TraceCheckUtils]: 20: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:48:10,758 INFO L290 TraceCheckUtils]: 19: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:48:10,758 INFO L290 TraceCheckUtils]: 18: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:48:10,758 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 10:48:10,758 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 10:48:10,758 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10122#true} {10122#true} #78#return; {10122#true} is VALID [2022-04-08 10:48:10,758 INFO L290 TraceCheckUtils]: 14: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:48:10,758 INFO L290 TraceCheckUtils]: 13: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:48:10,758 INFO L290 TraceCheckUtils]: 12: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:48:10,758 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 10:48:10,758 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10122#true} {10122#true} #76#return; {10122#true} is VALID [2022-04-08 10:48:10,758 INFO L290 TraceCheckUtils]: 9: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:48:10,759 INFO L290 TraceCheckUtils]: 8: Hoare triple {10122#true} assume !(0 == ~cond); {10122#true} is VALID [2022-04-08 10:48:10,759 INFO L290 TraceCheckUtils]: 7: Hoare triple {10122#true} ~cond := #in~cond; {10122#true} is VALID [2022-04-08 10:48:10,759 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 10:48:10,759 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 10:48:10,759 INFO L272 TraceCheckUtils]: 4: Hoare triple {10122#true} call #t~ret6 := main(); {10122#true} is VALID [2022-04-08 10:48:10,759 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10122#true} {10122#true} #96#return; {10122#true} is VALID [2022-04-08 10:48:10,759 INFO L290 TraceCheckUtils]: 2: Hoare triple {10122#true} assume true; {10122#true} is VALID [2022-04-08 10:48:10,759 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 10:48:10,759 INFO L272 TraceCheckUtils]: 0: Hoare triple {10122#true} call ULTIMATE.init(); {10122#true} is VALID [2022-04-08 10:48:10,760 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 10:48:10,760 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:48:10,760 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [812072272] [2022-04-08 10:48:10,760 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:48:10,760 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1012065034] [2022-04-08 10:48:10,760 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1012065034] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:48:10,760 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:48:10,760 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 21 [2022-04-08 10:48:10,760 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:48:10,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1364692005] [2022-04-08 10:48:10,761 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1364692005] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:48:10,761 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:48:10,761 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 10:48:10,761 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [356744591] [2022-04-08 10:48:10,761 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:48:10,761 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 10:48:10,761 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:48:10,762 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 10:48:10,813 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 10:48:10,813 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 10:48:10,813 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:48:10,814 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 10:48:10,814 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=334, Unknown=0, NotChecked=0, Total=420 [2022-04-08 10:48:10,814 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 10:48:13,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:48:13,038 INFO L93 Difference]: Finished difference Result 196 states and 266 transitions. [2022-04-08 10:48:13,038 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 10:48:13,038 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 10:48:13,038 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:48:13,038 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 10:48:13,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-08 10:48:13,040 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 10:48:13,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-08 10:48:13,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 100 transitions. [2022-04-08 10:48:13,161 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 10:48:13,165 INFO L225 Difference]: With dead ends: 196 [2022-04-08 10:48:13,165 INFO L226 Difference]: Without dead ends: 193 [2022-04-08 10:48:13,165 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 10:48:13,166 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 27 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 489 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-08 10:48:13,166 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.8s Time] [2022-04-08 10:48:13,166 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 193 states. [2022-04-08 10:48:13,462 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 193 to 192. [2022-04-08 10:48:13,462 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:48:13,464 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 10:48:13,464 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 10:48:13,464 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 10:48:13,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:48:13,471 INFO L93 Difference]: Finished difference Result 193 states and 262 transitions. [2022-04-08 10:48:13,471 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 262 transitions. [2022-04-08 10:48:13,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:48:13,472 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:48:13,472 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 10:48:13,472 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 10:48:13,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:48:13,478 INFO L93 Difference]: Finished difference Result 193 states and 262 transitions. [2022-04-08 10:48:13,479 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 262 transitions. [2022-04-08 10:48:13,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:48:13,480 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:48:13,480 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:48:13,480 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:48:13,480 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 10:48:13,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192 states to 192 states and 261 transitions. [2022-04-08 10:48:13,487 INFO L78 Accepts]: Start accepts. Automaton has 192 states and 261 transitions. Word has length 80 [2022-04-08 10:48:13,487 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:48:13,487 INFO L478 AbstractCegarLoop]: Abstraction has 192 states and 261 transitions. [2022-04-08 10:48:13,487 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 10:48:13,487 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 192 states and 261 transitions. [2022-04-08 10:48:13,874 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 10:48:13,874 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 261 transitions. [2022-04-08 10:48:13,876 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-08 10:48:13,877 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:48:13,877 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 10:48:13,897 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-08 10:48:14,083 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 10:48:14,084 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:48:14,084 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:48:14,084 INFO L85 PathProgramCache]: Analyzing trace with hash 1902002164, now seen corresponding path program 7 times [2022-04-08 10:48:14,084 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:48:14,084 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2040926572] [2022-04-08 10:48:14,084 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:48:14,085 INFO L85 PathProgramCache]: Analyzing trace with hash 1902002164, now seen corresponding path program 8 times [2022-04-08 10:48:14,085 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:48:14,085 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [336791783] [2022-04-08 10:48:14,085 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:48:14,085 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:48:14,094 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:48:14,094 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1092513729] [2022-04-08 10:48:14,094 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:48:14,095 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:48:14,095 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:48:14,096 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 10:48:14,097 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 10:48:14,147 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:48:14,147 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:48:14,148 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 10:48:14,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:48:14,162 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:48:14,415 INFO L272 TraceCheckUtils]: 0: Hoare triple {11792#true} call ULTIMATE.init(); {11792#true} is VALID [2022-04-08 10:48:14,415 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 10:48:14,415 INFO L290 TraceCheckUtils]: 2: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 10:48:14,416 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11792#true} {11792#true} #96#return; {11792#true} is VALID [2022-04-08 10:48:14,416 INFO L272 TraceCheckUtils]: 4: Hoare triple {11792#true} call #t~ret6 := main(); {11792#true} is VALID [2022-04-08 10:48:14,416 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 10:48:14,416 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 10:48:14,416 INFO L290 TraceCheckUtils]: 7: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 10:48:14,416 INFO L290 TraceCheckUtils]: 8: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 10:48:14,416 INFO L290 TraceCheckUtils]: 9: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 10:48:14,416 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11792#true} {11792#true} #76#return; {11792#true} is VALID [2022-04-08 10:48:14,416 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 10:48:14,416 INFO L290 TraceCheckUtils]: 12: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 10:48:14,416 INFO L290 TraceCheckUtils]: 13: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 10:48:14,416 INFO L290 TraceCheckUtils]: 14: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 10:48:14,416 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11792#true} {11792#true} #78#return; {11792#true} is VALID [2022-04-08 10:48:14,416 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 10:48:14,417 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 10:48:14,417 INFO L290 TraceCheckUtils]: 18: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 10:48:14,417 INFO L290 TraceCheckUtils]: 19: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 10:48:14,417 INFO L290 TraceCheckUtils]: 20: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 10:48:14,417 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11792#true} {11792#true} #80#return; {11792#true} is VALID [2022-04-08 10:48:14,417 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 10:48:14,417 INFO L290 TraceCheckUtils]: 23: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 10:48:14,417 INFO L290 TraceCheckUtils]: 24: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 10:48:14,417 INFO L290 TraceCheckUtils]: 25: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 10:48:14,417 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11792#true} {11792#true} #82#return; {11792#true} is VALID [2022-04-08 10:48:14,417 INFO L290 TraceCheckUtils]: 27: Hoare triple {11792#true} assume !false; {11792#true} is VALID [2022-04-08 10:48:14,417 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 10:48:14,417 INFO L290 TraceCheckUtils]: 29: Hoare triple {11792#true} assume !false; {11792#true} is VALID [2022-04-08 10:48:14,418 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 10:48:14,418 INFO L290 TraceCheckUtils]: 31: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 10:48:14,418 INFO L290 TraceCheckUtils]: 32: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 10:48:14,418 INFO L290 TraceCheckUtils]: 33: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 10:48:14,418 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {11792#true} {11792#true} #84#return; {11792#true} is VALID [2022-04-08 10:48:14,418 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 10:48:14,418 INFO L290 TraceCheckUtils]: 36: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 10:48:14,418 INFO L290 TraceCheckUtils]: 37: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 10:48:14,418 INFO L290 TraceCheckUtils]: 38: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 10:48:14,418 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {11792#true} {11792#true} #86#return; {11792#true} is VALID [2022-04-08 10:48:14,418 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 10:48:14,418 INFO L290 TraceCheckUtils]: 41: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 10:48:14,418 INFO L290 TraceCheckUtils]: 42: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 10:48:14,418 INFO L290 TraceCheckUtils]: 43: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 10:48:14,419 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {11792#true} {11792#true} #88#return; {11792#true} is VALID [2022-04-08 10:48:14,419 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 10:48:14,419 INFO L290 TraceCheckUtils]: 46: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 10:48:14,419 INFO L290 TraceCheckUtils]: 47: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 10:48:14,419 INFO L290 TraceCheckUtils]: 48: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 10:48:14,419 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {11792#true} {11792#true} #90#return; {11792#true} is VALID [2022-04-08 10:48:14,419 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 10:48:14,420 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 10:48:14,420 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 10:48:14,421 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 10:48:14,421 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 10:48:14,421 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 10:48:14,421 INFO L290 TraceCheckUtils]: 56: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 10:48:14,421 INFO L290 TraceCheckUtils]: 57: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 10:48:14,421 INFO L290 TraceCheckUtils]: 58: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 10:48:14,436 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 10:48:14,436 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 10:48:14,436 INFO L290 TraceCheckUtils]: 61: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 10:48:14,436 INFO L290 TraceCheckUtils]: 62: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 10:48:14,436 INFO L290 TraceCheckUtils]: 63: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 10:48:14,437 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 10:48:14,437 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 10:48:14,437 INFO L290 TraceCheckUtils]: 66: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 10:48:14,437 INFO L290 TraceCheckUtils]: 67: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 10:48:14,437 INFO L290 TraceCheckUtils]: 68: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 10:48:14,438 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 10:48:14,438 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 10:48:14,438 INFO L290 TraceCheckUtils]: 71: Hoare triple {11792#true} ~cond := #in~cond; {11792#true} is VALID [2022-04-08 10:48:14,438 INFO L290 TraceCheckUtils]: 72: Hoare triple {11792#true} assume !(0 == ~cond); {11792#true} is VALID [2022-04-08 10:48:14,438 INFO L290 TraceCheckUtils]: 73: Hoare triple {11792#true} assume true; {11792#true} is VALID [2022-04-08 10:48:14,439 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 10:48:14,440 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 10:48:14,440 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 10:48:14,440 INFO L290 TraceCheckUtils]: 77: Hoare triple {11793#false} assume !false; {11793#false} is VALID [2022-04-08 10:48:14,440 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 10:48:14,440 INFO L290 TraceCheckUtils]: 79: Hoare triple {11793#false} assume !false; {11793#false} is VALID [2022-04-08 10:48:14,441 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 10:48:14,441 INFO L290 TraceCheckUtils]: 81: Hoare triple {11793#false} ~cond := #in~cond; {11793#false} is VALID [2022-04-08 10:48:14,441 INFO L290 TraceCheckUtils]: 82: Hoare triple {11793#false} assume !(0 == ~cond); {11793#false} is VALID [2022-04-08 10:48:14,441 INFO L290 TraceCheckUtils]: 83: Hoare triple {11793#false} assume true; {11793#false} is VALID [2022-04-08 10:48:14,441 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11793#false} {11793#false} #84#return; {11793#false} is VALID [2022-04-08 10:48:14,441 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 10:48:14,441 INFO L290 TraceCheckUtils]: 86: Hoare triple {11793#false} ~cond := #in~cond; {11793#false} is VALID [2022-04-08 10:48:14,441 INFO L290 TraceCheckUtils]: 87: Hoare triple {11793#false} assume 0 == ~cond; {11793#false} is VALID [2022-04-08 10:48:14,441 INFO L290 TraceCheckUtils]: 88: Hoare triple {11793#false} assume !false; {11793#false} is VALID [2022-04-08 10:48:14,442 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 10:48:14,442 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 10:48:14,442 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:48:14,442 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [336791783] [2022-04-08 10:48:14,442 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:48:14,442 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1092513729] [2022-04-08 10:48:14,443 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1092513729] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:48:14,443 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:48:14,443 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:48:14,443 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:48:14,443 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2040926572] [2022-04-08 10:48:14,443 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2040926572] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:48:14,443 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:48:14,443 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:48:14,443 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [680278913] [2022-04-08 10:48:14,443 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:48:14,444 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 10:48:14,444 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:48:14,445 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 10:48:14,500 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 10:48:14,500 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 10:48:14,500 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:48:14,501 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 10:48:14,501 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 10:48:14,501 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 10:48:15,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:48:15,046 INFO L93 Difference]: Finished difference Result 234 states and 319 transitions. [2022-04-08 10:48:15,046 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 10:48:15,046 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 10:48:15,047 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:48:15,047 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 10:48:15,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 89 transitions. [2022-04-08 10:48:15,048 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 10:48:15,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 89 transitions. [2022-04-08 10:48:15,050 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 89 transitions. [2022-04-08 10:48:15,138 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 10:48:15,142 INFO L225 Difference]: With dead ends: 234 [2022-04-08 10:48:15,142 INFO L226 Difference]: Without dead ends: 175 [2022-04-08 10:48:15,143 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 10:48:15,144 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 10:48:15,144 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 10:48:15,144 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 175 states. [2022-04-08 10:48:15,465 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 175 to 166. [2022-04-08 10:48:15,465 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:48:15,466 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 10:48:15,466 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 10:48:15,466 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 10:48:15,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:48:15,472 INFO L93 Difference]: Finished difference Result 175 states and 228 transitions. [2022-04-08 10:48:15,472 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 228 transitions. [2022-04-08 10:48:15,472 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:48:15,472 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:48:15,473 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 10:48:15,473 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 10:48:15,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:48:15,479 INFO L93 Difference]: Finished difference Result 175 states and 228 transitions. [2022-04-08 10:48:15,479 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 228 transitions. [2022-04-08 10:48:15,480 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:48:15,480 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:48:15,480 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:48:15,480 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:48:15,480 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 10:48:15,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 214 transitions. [2022-04-08 10:48:15,485 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 214 transitions. Word has length 89 [2022-04-08 10:48:15,487 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:48:15,487 INFO L478 AbstractCegarLoop]: Abstraction has 166 states and 214 transitions. [2022-04-08 10:48:15,487 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 10:48:15,488 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 166 states and 214 transitions. [2022-04-08 10:48:15,885 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 10:48:15,885 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 214 transitions. [2022-04-08 10:48:15,886 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2022-04-08 10:48:15,886 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:48:15,886 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 10:48:15,912 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 10:48:16,095 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 10:48:16,095 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:48:16,096 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:48:16,096 INFO L85 PathProgramCache]: Analyzing trace with hash -1738688612, now seen corresponding path program 1 times [2022-04-08 10:48:16,096 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:48:16,096 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [179125702] [2022-04-08 10:48:16,096 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:48:16,096 INFO L85 PathProgramCache]: Analyzing trace with hash -1738688612, now seen corresponding path program 2 times [2022-04-08 10:48:16,096 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:48:16,096 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [350360785] [2022-04-08 10:48:16,097 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:48:16,097 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:48:16,106 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:48:16,107 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1787037703] [2022-04-08 10:48:16,107 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:48:16,107 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:48:16,107 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:48:16,108 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 10:48:16,110 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 10:48:16,166 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:48:16,167 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:48:16,168 INFO L263 TraceCheckSpWp]: Trace formula consists of 246 conjuncts, 61 conjunts are in the unsatisfiable core [2022-04-08 10:48:16,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:48:16,249 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:48:30,315 INFO L272 TraceCheckUtils]: 0: Hoare triple {13217#true} call ULTIMATE.init(); {13217#true} is VALID [2022-04-08 10:48:30,315 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 10:48:30,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 10:48:30,315 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13217#true} {13217#true} #96#return; {13217#true} is VALID [2022-04-08 10:48:30,315 INFO L272 TraceCheckUtils]: 4: Hoare triple {13217#true} call #t~ret6 := main(); {13217#true} is VALID [2022-04-08 10:48:30,315 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 10:48:30,315 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 10:48:30,315 INFO L290 TraceCheckUtils]: 7: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 10:48:30,316 INFO L290 TraceCheckUtils]: 8: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 10:48:30,316 INFO L290 TraceCheckUtils]: 9: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 10:48:30,316 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13217#true} {13217#true} #76#return; {13217#true} is VALID [2022-04-08 10:48:30,316 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 10:48:30,316 INFO L290 TraceCheckUtils]: 12: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 10:48:30,316 INFO L290 TraceCheckUtils]: 13: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 10:48:30,316 INFO L290 TraceCheckUtils]: 14: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 10:48:30,316 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13217#true} {13217#true} #78#return; {13217#true} is VALID [2022-04-08 10:48:30,317 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 10:48:30,317 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 10:48:30,317 INFO L290 TraceCheckUtils]: 18: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 10:48:30,317 INFO L290 TraceCheckUtils]: 19: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 10:48:30,317 INFO L290 TraceCheckUtils]: 20: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 10:48:30,318 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 10:48:30,318 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 10:48:30,318 INFO L290 TraceCheckUtils]: 23: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 10:48:30,318 INFO L290 TraceCheckUtils]: 24: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 10:48:30,318 INFO L290 TraceCheckUtils]: 25: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 10:48:30,318 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 10:48:30,319 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 10:48:30,319 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 10:48:30,320 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 10:48:30,320 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 10:48:30,320 INFO L290 TraceCheckUtils]: 31: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 10:48:30,320 INFO L290 TraceCheckUtils]: 32: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 10:48:30,320 INFO L290 TraceCheckUtils]: 33: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 10:48:30,321 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 10:48:30,321 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 10:48:30,321 INFO L290 TraceCheckUtils]: 36: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 10:48:30,321 INFO L290 TraceCheckUtils]: 37: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 10:48:30,321 INFO L290 TraceCheckUtils]: 38: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 10:48:30,322 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 10:48:30,322 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 10:48:30,322 INFO L290 TraceCheckUtils]: 41: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 10:48:30,322 INFO L290 TraceCheckUtils]: 42: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 10:48:30,322 INFO L290 TraceCheckUtils]: 43: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 10:48:30,323 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 10:48:30,323 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 10:48:30,323 INFO L290 TraceCheckUtils]: 46: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 10:48:30,323 INFO L290 TraceCheckUtils]: 47: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 10:48:30,323 INFO L290 TraceCheckUtils]: 48: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 10:48:30,324 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 10:48:30,324 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 10:48:30,325 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 10:48:30,325 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 10:48:30,325 INFO L290 TraceCheckUtils]: 53: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 10:48:30,325 INFO L290 TraceCheckUtils]: 54: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 10:48:30,326 INFO L290 TraceCheckUtils]: 55: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 10:48:30,327 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 10:48:30,327 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 10:48:30,327 INFO L290 TraceCheckUtils]: 58: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 10:48:30,327 INFO L290 TraceCheckUtils]: 59: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 10:48:30,327 INFO L290 TraceCheckUtils]: 60: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 10:48:30,328 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 10:48:30,328 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 10:48:30,329 INFO L290 TraceCheckUtils]: 63: Hoare triple {13217#true} ~cond := #in~cond; {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:48:30,329 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 10:48:30,330 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 10:48:30,331 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 10:48:30,331 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 10:48:30,331 INFO L290 TraceCheckUtils]: 68: Hoare triple {13217#true} ~cond := #in~cond; {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:48:30,332 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 10:48:30,332 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 10:48:30,333 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 10:48:30,334 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 10:48:30,335 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 10:48:30,335 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 10:48:30,336 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 10:48:30,336 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 10:48:30,337 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 10:48:30,337 INFO L290 TraceCheckUtils]: 78: Hoare triple {13217#true} ~cond := #in~cond; {13217#true} is VALID [2022-04-08 10:48:30,337 INFO L290 TraceCheckUtils]: 79: Hoare triple {13217#true} assume !(0 == ~cond); {13217#true} is VALID [2022-04-08 10:48:30,337 INFO L290 TraceCheckUtils]: 80: Hoare triple {13217#true} assume true; {13217#true} is VALID [2022-04-08 10:48:30,338 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 10:48:30,338 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 10:48:30,338 INFO L290 TraceCheckUtils]: 83: Hoare triple {13217#true} ~cond := #in~cond; {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:48:30,339 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 10:48:30,339 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 10:48:30,340 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 10:48:30,340 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 10:48:30,341 INFO L290 TraceCheckUtils]: 88: Hoare triple {13217#true} ~cond := #in~cond; {13414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:48:30,341 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 10:48:30,341 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 10:48:30,342 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 10:48:30,448 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 10:48:30,448 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 10:48:30,449 INFO L290 TraceCheckUtils]: 94: Hoare triple {13510#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13218#false} is VALID [2022-04-08 10:48:30,449 INFO L290 TraceCheckUtils]: 95: Hoare triple {13218#false} assume !false; {13218#false} is VALID [2022-04-08 10:48:30,449 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 10:48:30,449 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:50:13,522 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:50:13,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [350360785] [2022-04-08 10:50:13,523 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:50:13,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1787037703] [2022-04-08 10:50:13,523 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1787037703] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:50:13,523 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 10:50:13,523 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2022-04-08 10:50:13,523 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:50:13,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [179125702] [2022-04-08 10:50:13,523 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [179125702] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:50:13,523 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:50:13,523 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 10:50:13,523 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [493429560] [2022-04-08 10:50:13,524 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:50:13,524 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 10:50:13,524 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:50:13,524 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 10:50:13,652 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 10:50:13,652 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 10:50:13,652 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:50:13,652 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 10:50:13,653 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=235, Unknown=2, NotChecked=0, Total=306 [2022-04-08 10:50:13,653 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 10:50:24,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:50:24,715 INFO L93 Difference]: Finished difference Result 181 states and 226 transitions. [2022-04-08 10:50:24,715 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 10:50:24,715 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 10:50:24,715 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:50:24,716 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 10:50:24,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 105 transitions. [2022-04-08 10:50:24,717 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 10:50:24,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 105 transitions. [2022-04-08 10:50:24,719 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 105 transitions. [2022-04-08 10:50:24,930 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 10:50:24,933 INFO L225 Difference]: With dead ends: 181 [2022-04-08 10:50:24,933 INFO L226 Difference]: Without dead ends: 179 [2022-04-08 10:50:24,934 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 103 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 12.0s TimeCoverageRelationStatistics Valid=110, Invalid=394, Unknown=2, NotChecked=0, Total=506 [2022-04-08 10:50:24,934 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 27 mSDsluCounter, 185 mSDsCounter, 0 mSdLazyCounter, 534 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-08 10:50:24,934 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.7s Time] [2022-04-08 10:50:24,935 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 179 states. [2022-04-08 10:50:25,241 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 179 to 178. [2022-04-08 10:50:25,242 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:50:25,242 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 10:50:25,243 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 10:50:25,243 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 10:50:25,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:50:25,247 INFO L93 Difference]: Finished difference Result 179 states and 224 transitions. [2022-04-08 10:50:25,247 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 224 transitions. [2022-04-08 10:50:25,248 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:50:25,248 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:50:25,248 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 10:50:25,248 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 10:50:25,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:50:25,253 INFO L93 Difference]: Finished difference Result 179 states and 224 transitions. [2022-04-08 10:50:25,254 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 224 transitions. [2022-04-08 10:50:25,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:50:25,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:50:25,254 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:50:25,255 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:50:25,255 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 10:50:25,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 178 states to 178 states and 223 transitions. [2022-04-08 10:50:25,260 INFO L78 Accepts]: Start accepts. Automaton has 178 states and 223 transitions. Word has length 96 [2022-04-08 10:50:25,261 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:50:25,261 INFO L478 AbstractCegarLoop]: Abstraction has 178 states and 223 transitions. [2022-04-08 10:50:25,261 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 10:50:25,261 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 178 states and 223 transitions. [2022-04-08 10:50:25,723 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 10:50:25,723 INFO L276 IsEmpty]: Start isEmpty. Operand 178 states and 223 transitions. [2022-04-08 10:50:25,724 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-08 10:50:25,724 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:50:25,724 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 10:50:25,751 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 10:50:25,924 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 10:50:25,925 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:50:25,925 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:50:25,925 INFO L85 PathProgramCache]: Analyzing trace with hash -1265808182, now seen corresponding path program 5 times [2022-04-08 10:50:25,925 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:50:25,925 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1215050759] [2022-04-08 10:50:25,926 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:50:25,926 INFO L85 PathProgramCache]: Analyzing trace with hash -1265808182, now seen corresponding path program 6 times [2022-04-08 10:50:25,926 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:50:25,926 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [128245222] [2022-04-08 10:50:25,926 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:50:25,926 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:50:25,939 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:50:25,939 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1046207] [2022-04-08 10:50:25,940 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:50:25,940 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:50:25,940 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:50:25,941 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 10:50:25,943 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 10:50:25,999 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-08 10:50:25,999 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:50:26,000 INFO L263 TraceCheckSpWp]: Trace formula consists of 182 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 10:50:26,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:50:26,016 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:50:26,423 INFO L272 TraceCheckUtils]: 0: Hoare triple {14683#true} call ULTIMATE.init(); {14683#true} is VALID [2022-04-08 10:50:26,423 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 10:50:26,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,423 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14683#true} {14683#true} #96#return; {14683#true} is VALID [2022-04-08 10:50:26,423 INFO L272 TraceCheckUtils]: 4: Hoare triple {14683#true} call #t~ret6 := main(); {14683#true} is VALID [2022-04-08 10:50:26,423 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 10:50:26,423 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 10:50:26,423 INFO L290 TraceCheckUtils]: 7: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,424 INFO L290 TraceCheckUtils]: 8: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,424 INFO L290 TraceCheckUtils]: 9: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,424 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14683#true} {14683#true} #76#return; {14683#true} is VALID [2022-04-08 10:50:26,424 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 10:50:26,424 INFO L290 TraceCheckUtils]: 12: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,424 INFO L290 TraceCheckUtils]: 13: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,424 INFO L290 TraceCheckUtils]: 14: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,424 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14683#true} {14683#true} #78#return; {14683#true} is VALID [2022-04-08 10:50:26,424 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 10:50:26,424 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 10:50:26,424 INFO L290 TraceCheckUtils]: 18: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,424 INFO L290 TraceCheckUtils]: 19: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,424 INFO L290 TraceCheckUtils]: 20: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,424 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14683#true} {14683#true} #80#return; {14683#true} is VALID [2022-04-08 10:50:26,425 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 10:50:26,425 INFO L290 TraceCheckUtils]: 23: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,425 INFO L290 TraceCheckUtils]: 24: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,425 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14683#true} {14683#true} #82#return; {14683#true} is VALID [2022-04-08 10:50:26,425 INFO L290 TraceCheckUtils]: 27: Hoare triple {14683#true} assume !false; {14683#true} is VALID [2022-04-08 10:50:26,425 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 10:50:26,426 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 10:50:26,426 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 10:50:26,426 INFO L290 TraceCheckUtils]: 31: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,426 INFO L290 TraceCheckUtils]: 32: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,426 INFO L290 TraceCheckUtils]: 33: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,426 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 10:50:26,427 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 10:50:26,427 INFO L290 TraceCheckUtils]: 36: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,427 INFO L290 TraceCheckUtils]: 37: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,427 INFO L290 TraceCheckUtils]: 38: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,427 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 10:50:26,427 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 10:50:26,428 INFO L290 TraceCheckUtils]: 41: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,428 INFO L290 TraceCheckUtils]: 42: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,428 INFO L290 TraceCheckUtils]: 43: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,428 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 10:50:26,428 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 10:50:26,428 INFO L290 TraceCheckUtils]: 46: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,429 INFO L290 TraceCheckUtils]: 47: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,429 INFO L290 TraceCheckUtils]: 48: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,429 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 10:50:26,430 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 10:50:26,430 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 10:50:26,430 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 10:50:26,430 INFO L290 TraceCheckUtils]: 53: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,430 INFO L290 TraceCheckUtils]: 54: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,430 INFO L290 TraceCheckUtils]: 55: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,431 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 10:50:26,431 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 10:50:26,431 INFO L290 TraceCheckUtils]: 58: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,431 INFO L290 TraceCheckUtils]: 59: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,431 INFO L290 TraceCheckUtils]: 60: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,433 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 10:50:26,433 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 10:50:26,433 INFO L290 TraceCheckUtils]: 63: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,433 INFO L290 TraceCheckUtils]: 64: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,433 INFO L290 TraceCheckUtils]: 65: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,434 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 10:50:26,434 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 10:50:26,434 INFO L290 TraceCheckUtils]: 68: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,434 INFO L290 TraceCheckUtils]: 69: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,434 INFO L290 TraceCheckUtils]: 70: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,435 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 10:50:26,436 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 10:50:26,436 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 10:50:26,436 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 10:50:26,437 INFO L290 TraceCheckUtils]: 75: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,437 INFO L290 TraceCheckUtils]: 76: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,437 INFO L290 TraceCheckUtils]: 77: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,437 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 10:50:26,437 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 10:50:26,437 INFO L290 TraceCheckUtils]: 80: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,437 INFO L290 TraceCheckUtils]: 81: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,437 INFO L290 TraceCheckUtils]: 82: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,438 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 10:50:26,438 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 10:50:26,438 INFO L290 TraceCheckUtils]: 85: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,438 INFO L290 TraceCheckUtils]: 86: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,438 INFO L290 TraceCheckUtils]: 87: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,439 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 10:50:26,439 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 10:50:26,439 INFO L290 TraceCheckUtils]: 90: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,439 INFO L290 TraceCheckUtils]: 91: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,439 INFO L290 TraceCheckUtils]: 92: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,440 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 10:50:26,441 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 10:50:26,441 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 10:50:26,442 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 10:50:26,442 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 10:50:26,443 INFO L290 TraceCheckUtils]: 98: Hoare triple {14984#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14684#false} is VALID [2022-04-08 10:50:26,443 INFO L290 TraceCheckUtils]: 99: Hoare triple {14684#false} assume !false; {14684#false} is VALID [2022-04-08 10:50:26,444 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 10:50:26,444 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:50:26,762 INFO L290 TraceCheckUtils]: 99: Hoare triple {14684#false} assume !false; {14684#false} is VALID [2022-04-08 10:50:26,763 INFO L290 TraceCheckUtils]: 98: Hoare triple {14984#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14684#false} is VALID [2022-04-08 10:50:26,763 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 10:50:26,763 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 10:50:26,764 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 10:50:26,766 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 10:50:26,766 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 10:50:26,766 INFO L290 TraceCheckUtils]: 92: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,766 INFO L290 TraceCheckUtils]: 91: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,767 INFO L290 TraceCheckUtils]: 90: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,767 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 10:50:26,767 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 10:50:26,767 INFO L290 TraceCheckUtils]: 87: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,767 INFO L290 TraceCheckUtils]: 86: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,767 INFO L290 TraceCheckUtils]: 85: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,768 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 10:50:26,768 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 10:50:26,768 INFO L290 TraceCheckUtils]: 82: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,768 INFO L290 TraceCheckUtils]: 81: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,768 INFO L290 TraceCheckUtils]: 80: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,768 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 10:50:26,769 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 10:50:26,769 INFO L290 TraceCheckUtils]: 77: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,769 INFO L290 TraceCheckUtils]: 76: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,769 INFO L290 TraceCheckUtils]: 75: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,769 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 10:50:26,770 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 10:50:26,771 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 10:50:26,772 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 10:50:26,772 INFO L290 TraceCheckUtils]: 70: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,772 INFO L290 TraceCheckUtils]: 69: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,772 INFO L290 TraceCheckUtils]: 68: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,772 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 10:50:26,773 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 10:50:26,773 INFO L290 TraceCheckUtils]: 65: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,773 INFO L290 TraceCheckUtils]: 64: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,773 INFO L290 TraceCheckUtils]: 63: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,773 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 10:50:26,774 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 10:50:26,774 INFO L290 TraceCheckUtils]: 60: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,774 INFO L290 TraceCheckUtils]: 59: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,774 INFO L290 TraceCheckUtils]: 58: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,774 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 10:50:26,775 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 10:50:26,775 INFO L290 TraceCheckUtils]: 55: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,775 INFO L290 TraceCheckUtils]: 54: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,775 INFO L290 TraceCheckUtils]: 53: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,775 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 10:50:26,776 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 10:50:26,777 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 10:50:26,778 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 10:50:26,778 INFO L290 TraceCheckUtils]: 48: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,778 INFO L290 TraceCheckUtils]: 47: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,778 INFO L290 TraceCheckUtils]: 46: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,778 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 10:50:26,779 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 10:50:26,779 INFO L290 TraceCheckUtils]: 43: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,779 INFO L290 TraceCheckUtils]: 42: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,779 INFO L290 TraceCheckUtils]: 41: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,779 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 10:50:26,780 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 10:50:26,780 INFO L290 TraceCheckUtils]: 38: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,780 INFO L290 TraceCheckUtils]: 37: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,780 INFO L290 TraceCheckUtils]: 36: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,780 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 10:50:26,781 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 10:50:26,781 INFO L290 TraceCheckUtils]: 33: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,781 INFO L290 TraceCheckUtils]: 32: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,781 INFO L290 TraceCheckUtils]: 31: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,781 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 10:50:26,781 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 10:50:26,782 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 10:50:26,782 INFO L290 TraceCheckUtils]: 27: Hoare triple {14683#true} assume !false; {14683#true} is VALID [2022-04-08 10:50:26,782 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14683#true} {14683#true} #82#return; {14683#true} is VALID [2022-04-08 10:50:26,782 INFO L290 TraceCheckUtils]: 25: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,782 INFO L290 TraceCheckUtils]: 24: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,782 INFO L290 TraceCheckUtils]: 23: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,782 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 10:50:26,782 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14683#true} {14683#true} #80#return; {14683#true} is VALID [2022-04-08 10:50:26,782 INFO L290 TraceCheckUtils]: 20: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,782 INFO L290 TraceCheckUtils]: 19: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,782 INFO L290 TraceCheckUtils]: 18: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,782 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 10:50:26,782 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 10:50:26,783 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14683#true} {14683#true} #78#return; {14683#true} is VALID [2022-04-08 10:50:26,783 INFO L290 TraceCheckUtils]: 14: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,783 INFO L290 TraceCheckUtils]: 13: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,783 INFO L290 TraceCheckUtils]: 12: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,783 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 10:50:26,783 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14683#true} {14683#true} #76#return; {14683#true} is VALID [2022-04-08 10:50:26,783 INFO L290 TraceCheckUtils]: 9: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,783 INFO L290 TraceCheckUtils]: 8: Hoare triple {14683#true} assume !(0 == ~cond); {14683#true} is VALID [2022-04-08 10:50:26,783 INFO L290 TraceCheckUtils]: 7: Hoare triple {14683#true} ~cond := #in~cond; {14683#true} is VALID [2022-04-08 10:50:26,783 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 10:50:26,783 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 10:50:26,783 INFO L272 TraceCheckUtils]: 4: Hoare triple {14683#true} call #t~ret6 := main(); {14683#true} is VALID [2022-04-08 10:50:26,783 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14683#true} {14683#true} #96#return; {14683#true} is VALID [2022-04-08 10:50:26,783 INFO L290 TraceCheckUtils]: 2: Hoare triple {14683#true} assume true; {14683#true} is VALID [2022-04-08 10:50:26,784 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 10:50:26,784 INFO L272 TraceCheckUtils]: 0: Hoare triple {14683#true} call ULTIMATE.init(); {14683#true} is VALID [2022-04-08 10:50:26,784 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 10:50:26,784 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:50:26,784 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [128245222] [2022-04-08 10:50:26,784 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:50:26,784 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1046207] [2022-04-08 10:50:26,784 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1046207] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 10:50:26,784 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 10:50:26,784 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-08 10:50:26,785 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:50:26,785 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1215050759] [2022-04-08 10:50:26,785 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1215050759] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:50:26,785 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:50:26,785 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:50:26,785 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1148595244] [2022-04-08 10:50:26,785 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:50:26,785 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 10:50:26,786 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:50:26,786 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 10:50:26,829 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 10:50:26,829 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 10:50:26,829 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:50:26,830 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 10:50:26,830 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-08 10:50:26,830 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 10:50:27,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:50:27,248 INFO L93 Difference]: Finished difference Result 184 states and 228 transitions. [2022-04-08 10:50:27,248 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 10:50:27,248 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 10:50:27,249 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:50:27,249 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 10:50:27,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2022-04-08 10:50:27,249 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 10:50:27,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2022-04-08 10:50:27,250 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2022-04-08 10:50:27,285 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 10:50:27,289 INFO L225 Difference]: With dead ends: 184 [2022-04-08 10:50:27,289 INFO L226 Difference]: Without dead ends: 182 [2022-04-08 10:50:27,289 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 10:50:27,290 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 10:50:27,290 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 10:50:27,291 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-08 10:50:27,573 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 182. [2022-04-08 10:50:27,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:50:27,574 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 10:50:27,574 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 10:50:27,575 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 10:50:27,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:50:27,578 INFO L93 Difference]: Finished difference Result 182 states and 226 transitions. [2022-04-08 10:50:27,578 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 226 transitions. [2022-04-08 10:50:27,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:50:27,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:50:27,580 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 10:50:27,580 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 10:50:27,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:50:27,585 INFO L93 Difference]: Finished difference Result 182 states and 226 transitions. [2022-04-08 10:50:27,585 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 226 transitions. [2022-04-08 10:50:27,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:50:27,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:50:27,586 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:50:27,586 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:50:27,586 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 10:50:27,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 226 transitions. [2022-04-08 10:50:27,591 INFO L78 Accepts]: Start accepts. Automaton has 182 states and 226 transitions. Word has length 100 [2022-04-08 10:50:27,592 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:50:27,592 INFO L478 AbstractCegarLoop]: Abstraction has 182 states and 226 transitions. [2022-04-08 10:50:27,592 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 10:50:27,592 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 182 states and 226 transitions. [2022-04-08 10:50:28,088 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 10:50:28,088 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 226 transitions. [2022-04-08 10:50:28,089 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-08 10:50:28,089 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:50:28,090 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 10:50:28,115 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 10:50:28,290 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 10:50:28,290 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:50:28,291 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:50:28,291 INFO L85 PathProgramCache]: Analyzing trace with hash 1068463892, now seen corresponding path program 3 times [2022-04-08 10:50:28,291 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:50:28,291 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1287201581] [2022-04-08 10:50:28,291 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:50:28,291 INFO L85 PathProgramCache]: Analyzing trace with hash 1068463892, now seen corresponding path program 4 times [2022-04-08 10:50:28,291 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:50:28,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [598607000] [2022-04-08 10:50:28,292 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:50:28,292 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:50:28,301 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:50:28,301 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [995915636] [2022-04-08 10:50:28,301 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:50:28,302 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:50:28,302 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:50:28,303 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 10:50:28,303 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 10:50:28,358 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:50:28,358 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:50:28,359 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-08 10:50:28,379 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:50:28,380 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:50:35,146 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 10:50:35,953 INFO L272 TraceCheckUtils]: 0: Hoare triple {16389#true} call ULTIMATE.init(); {16389#true} is VALID [2022-04-08 10:50:35,953 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 10:50:35,953 INFO L290 TraceCheckUtils]: 2: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 10:50:35,953 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16389#true} {16389#true} #96#return; {16389#true} is VALID [2022-04-08 10:50:35,953 INFO L272 TraceCheckUtils]: 4: Hoare triple {16389#true} call #t~ret6 := main(); {16389#true} is VALID [2022-04-08 10:50:35,953 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 10:50:35,953 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 10:50:35,953 INFO L290 TraceCheckUtils]: 7: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 10:50:35,954 INFO L290 TraceCheckUtils]: 8: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 10:50:35,954 INFO L290 TraceCheckUtils]: 9: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 10:50:35,954 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16389#true} {16389#true} #76#return; {16389#true} is VALID [2022-04-08 10:50:35,954 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 10:50:35,954 INFO L290 TraceCheckUtils]: 12: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 10:50:35,954 INFO L290 TraceCheckUtils]: 13: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 10:50:35,954 INFO L290 TraceCheckUtils]: 14: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 10:50:35,954 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16389#true} {16389#true} #78#return; {16389#true} is VALID [2022-04-08 10:50:35,955 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 10:50:35,955 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 10:50:35,955 INFO L290 TraceCheckUtils]: 18: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 10:50:35,955 INFO L290 TraceCheckUtils]: 19: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 10:50:35,955 INFO L290 TraceCheckUtils]: 20: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 10:50:35,956 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 10:50:35,956 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 10:50:35,956 INFO L290 TraceCheckUtils]: 23: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 10:50:35,956 INFO L290 TraceCheckUtils]: 24: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 10:50:35,956 INFO L290 TraceCheckUtils]: 25: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 10:50:35,957 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 10:50:35,957 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 10:50:35,957 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 10:50:35,958 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 10:50:35,958 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 10:50:35,958 INFO L290 TraceCheckUtils]: 31: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 10:50:35,958 INFO L290 TraceCheckUtils]: 32: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 10:50:35,958 INFO L290 TraceCheckUtils]: 33: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 10:50:35,959 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 10:50:35,959 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 10:50:35,959 INFO L290 TraceCheckUtils]: 36: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 10:50:35,959 INFO L290 TraceCheckUtils]: 37: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 10:50:35,959 INFO L290 TraceCheckUtils]: 38: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 10:50:35,960 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 10:50:35,960 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 10:50:35,960 INFO L290 TraceCheckUtils]: 41: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 10:50:35,960 INFO L290 TraceCheckUtils]: 42: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 10:50:35,960 INFO L290 TraceCheckUtils]: 43: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 10:50:35,961 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 10:50:35,961 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 10:50:35,961 INFO L290 TraceCheckUtils]: 46: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 10:50:35,961 INFO L290 TraceCheckUtils]: 47: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 10:50:35,961 INFO L290 TraceCheckUtils]: 48: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 10:50:35,962 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 10:50:35,962 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 10:50:35,963 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 10:50:35,963 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 10:50:35,963 INFO L290 TraceCheckUtils]: 53: Hoare triple {16389#true} ~cond := #in~cond; {16556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:50:35,963 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 10:50:35,964 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 10:50:35,965 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 10:50:35,965 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 10:50:35,965 INFO L290 TraceCheckUtils]: 58: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 10:50:35,965 INFO L290 TraceCheckUtils]: 59: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 10:50:35,965 INFO L290 TraceCheckUtils]: 60: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 10:50:35,966 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 10:50:35,966 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 10:50:35,966 INFO L290 TraceCheckUtils]: 63: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 10:50:35,966 INFO L290 TraceCheckUtils]: 64: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 10:50:35,966 INFO L290 TraceCheckUtils]: 65: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 10:50:35,967 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 10:50:35,967 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 10:50:35,967 INFO L290 TraceCheckUtils]: 68: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 10:50:35,967 INFO L290 TraceCheckUtils]: 69: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 10:50:35,967 INFO L290 TraceCheckUtils]: 70: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 10:50:35,968 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 10:50:35,969 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 10:50:35,970 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 10:50:35,970 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 10:50:35,970 INFO L290 TraceCheckUtils]: 75: Hoare triple {16389#true} ~cond := #in~cond; {16556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:50:35,970 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 10:50:35,971 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 10:50:35,972 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 10:50:35,972 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 10:50:35,972 INFO L290 TraceCheckUtils]: 80: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 10:50:35,972 INFO L290 TraceCheckUtils]: 81: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 10:50:35,972 INFO L290 TraceCheckUtils]: 82: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 10:50:35,973 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 10:50:35,973 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 10:50:35,973 INFO L290 TraceCheckUtils]: 85: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 10:50:35,973 INFO L290 TraceCheckUtils]: 86: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 10:50:35,973 INFO L290 TraceCheckUtils]: 87: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 10:50:35,974 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 10:50:35,974 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 10:50:35,974 INFO L290 TraceCheckUtils]: 90: Hoare triple {16389#true} ~cond := #in~cond; {16389#true} is VALID [2022-04-08 10:50:35,974 INFO L290 TraceCheckUtils]: 91: Hoare triple {16389#true} assume !(0 == ~cond); {16389#true} is VALID [2022-04-08 10:50:35,974 INFO L290 TraceCheckUtils]: 92: Hoare triple {16389#true} assume true; {16389#true} is VALID [2022-04-08 10:50:35,975 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 10:50:35,975 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 10:50:35,977 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 10:50:35,978 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 10:50:35,978 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 10:50:35,979 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 10:50:35,979 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 10:50:35,979 INFO L290 TraceCheckUtils]: 100: Hoare triple {16702#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16390#false} is VALID [2022-04-08 10:50:35,979 INFO L290 TraceCheckUtils]: 101: Hoare triple {16390#false} assume !false; {16390#false} is VALID [2022-04-08 10:50:35,980 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 10:50:35,980 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:51:43,188 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 10:51:47,226 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 10:51:49,447 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:51:49,448 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [598607000] [2022-04-08 10:51:49,448 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:51:49,448 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [995915636] [2022-04-08 10:51:49,448 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [995915636] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 10:51:49,448 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 10:51:49,448 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14] total 14 [2022-04-08 10:51:49,448 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:51:49,448 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1287201581] [2022-04-08 10:51:49,448 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1287201581] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:51:49,449 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:51:49,449 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 10:51:49,449 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1260393838] [2022-04-08 10:51:49,449 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:51:49,449 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 10:51:49,449 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:51:49,450 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 10:51:49,518 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 10:51:49,518 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 10:51:49,519 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:51:49,519 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 10:51:49,519 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=308, Unknown=1, NotChecked=0, Total=380 [2022-04-08 10:51:49,519 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 10:51:52,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:51:52,680 INFO L93 Difference]: Finished difference Result 211 states and 269 transitions. [2022-04-08 10:51:52,680 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 10:51:52,680 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 10:51:52,680 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:51:52,681 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 10:51:52,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2022-04-08 10:51:52,682 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 10:51:52,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2022-04-08 10:51:52,684 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 112 transitions. [2022-04-08 10:51:52,854 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 10:51:52,859 INFO L225 Difference]: With dead ends: 211 [2022-04-08 10:51:52,859 INFO L226 Difference]: Without dead ends: 208 [2022-04-08 10:51:52,859 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 108 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=99, Invalid=452, Unknown=1, NotChecked=0, Total=552 [2022-04-08 10:51:52,860 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 30 mSDsluCounter, 211 mSDsCounter, 0 mSdLazyCounter, 632 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s 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, 1.2s IncrementalHoareTripleChecker+Time [2022-04-08 10:51:52,860 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [38 Valid, 257 Invalid, 670 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 632 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-08 10:51:52,860 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-04-08 10:51:53,213 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 207. [2022-04-08 10:51:53,214 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:51:53,214 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 10:51:53,215 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 10:51:53,215 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 10:51:53,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:51:53,220 INFO L93 Difference]: Finished difference Result 208 states and 265 transitions. [2022-04-08 10:51:53,221 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 265 transitions. [2022-04-08 10:51:53,221 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:51:53,222 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:51:53,222 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 10:51:53,223 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 10:51:53,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:51:53,228 INFO L93 Difference]: Finished difference Result 208 states and 265 transitions. [2022-04-08 10:51:53,228 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 265 transitions. [2022-04-08 10:51:53,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:51:53,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:51:53,229 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:51:53,229 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:51:53,230 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 10:51:53,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 207 states to 207 states and 264 transitions. [2022-04-08 10:51:53,236 INFO L78 Accepts]: Start accepts. Automaton has 207 states and 264 transitions. Word has length 102 [2022-04-08 10:51:53,236 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:51:53,236 INFO L478 AbstractCegarLoop]: Abstraction has 207 states and 264 transitions. [2022-04-08 10:51:53,236 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 10:51:53,236 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 207 states and 264 transitions. [2022-04-08 10:51:53,766 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 10:51:53,766 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 264 transitions. [2022-04-08 10:51:53,767 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-08 10:51:53,767 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:51:53,767 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 10:51:53,795 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 10:51:53,968 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 10:51:53,968 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:51:53,969 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:51:53,969 INFO L85 PathProgramCache]: Analyzing trace with hash 351496396, now seen corresponding path program 5 times [2022-04-08 10:51:53,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:51:53,969 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1283967107] [2022-04-08 10:51:53,969 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:51:53,969 INFO L85 PathProgramCache]: Analyzing trace with hash 351496396, now seen corresponding path program 6 times [2022-04-08 10:51:53,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:51:53,970 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2094998510] [2022-04-08 10:51:53,970 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:51:53,970 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:51:53,988 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:51:53,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [834540912] [2022-04-08 10:51:53,988 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:51:53,988 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:51:53,988 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:51:53,995 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 10:51:53,999 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 10:51:54,086 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 10:51:54,086 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:51:54,088 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 10:51:54,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:51:54,109 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:51:54,458 INFO L272 TraceCheckUtils]: 0: Hoare triple {18067#true} call ULTIMATE.init(); {18067#true} is VALID [2022-04-08 10:51:54,458 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 10:51:54,458 INFO L290 TraceCheckUtils]: 2: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,458 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18067#true} {18067#true} #96#return; {18067#true} is VALID [2022-04-08 10:51:54,458 INFO L272 TraceCheckUtils]: 4: Hoare triple {18067#true} call #t~ret6 := main(); {18067#true} is VALID [2022-04-08 10:51:54,458 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 10:51:54,458 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 10:51:54,458 INFO L290 TraceCheckUtils]: 7: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,458 INFO L290 TraceCheckUtils]: 8: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,459 INFO L290 TraceCheckUtils]: 9: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,459 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18067#true} {18067#true} #76#return; {18067#true} is VALID [2022-04-08 10:51:54,459 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 10:51:54,459 INFO L290 TraceCheckUtils]: 12: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,459 INFO L290 TraceCheckUtils]: 13: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,459 INFO L290 TraceCheckUtils]: 14: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,459 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18067#true} {18067#true} #78#return; {18067#true} is VALID [2022-04-08 10:51:54,459 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 10:51:54,459 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 10:51:54,459 INFO L290 TraceCheckUtils]: 18: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,459 INFO L290 TraceCheckUtils]: 19: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,459 INFO L290 TraceCheckUtils]: 20: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,459 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18067#true} {18067#true} #80#return; {18067#true} is VALID [2022-04-08 10:51:54,459 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 10:51:54,460 INFO L290 TraceCheckUtils]: 23: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,460 INFO L290 TraceCheckUtils]: 24: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,460 INFO L290 TraceCheckUtils]: 25: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,460 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18067#true} {18067#true} #82#return; {18067#true} is VALID [2022-04-08 10:51:54,460 INFO L290 TraceCheckUtils]: 27: Hoare triple {18067#true} assume !false; {18067#true} is VALID [2022-04-08 10:51:54,460 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 10:51:54,460 INFO L290 TraceCheckUtils]: 29: Hoare triple {18067#true} assume !false; {18067#true} is VALID [2022-04-08 10:51:54,460 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 10:51:54,460 INFO L290 TraceCheckUtils]: 31: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,460 INFO L290 TraceCheckUtils]: 32: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,460 INFO L290 TraceCheckUtils]: 33: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,460 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {18067#true} {18067#true} #84#return; {18067#true} is VALID [2022-04-08 10:51:54,460 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 10:51:54,460 INFO L290 TraceCheckUtils]: 36: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,461 INFO L290 TraceCheckUtils]: 37: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,461 INFO L290 TraceCheckUtils]: 38: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,461 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {18067#true} {18067#true} #86#return; {18067#true} is VALID [2022-04-08 10:51:54,461 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 10:51:54,461 INFO L290 TraceCheckUtils]: 41: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,461 INFO L290 TraceCheckUtils]: 42: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,461 INFO L290 TraceCheckUtils]: 43: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,461 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {18067#true} {18067#true} #88#return; {18067#true} is VALID [2022-04-08 10:51:54,461 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 10:51:54,461 INFO L290 TraceCheckUtils]: 46: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,461 INFO L290 TraceCheckUtils]: 47: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,461 INFO L290 TraceCheckUtils]: 48: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,461 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {18067#true} {18067#true} #90#return; {18067#true} is VALID [2022-04-08 10:51:54,462 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 10:51:54,462 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 10:51:54,463 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 10:51:54,463 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 10:51:54,463 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 10:51:54,464 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 10:51:54,464 INFO L290 TraceCheckUtils]: 56: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,464 INFO L290 TraceCheckUtils]: 57: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,464 INFO L290 TraceCheckUtils]: 58: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,465 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 10:51:54,465 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 10:51:54,465 INFO L290 TraceCheckUtils]: 61: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,465 INFO L290 TraceCheckUtils]: 62: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,465 INFO L290 TraceCheckUtils]: 63: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,466 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 10:51:54,466 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 10:51:54,466 INFO L290 TraceCheckUtils]: 66: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,466 INFO L290 TraceCheckUtils]: 67: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,466 INFO L290 TraceCheckUtils]: 68: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,467 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 10:51:54,467 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 10:51:54,467 INFO L290 TraceCheckUtils]: 71: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,467 INFO L290 TraceCheckUtils]: 72: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,467 INFO L290 TraceCheckUtils]: 73: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,468 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 10:51:54,469 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 10:51:54,470 INFO L290 TraceCheckUtils]: 76: Hoare triple {18300#(< 0 main_~c~0)} assume !false; {18300#(< 0 main_~c~0)} is VALID [2022-04-08 10:51:54,470 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 10:51:54,470 INFO L290 TraceCheckUtils]: 78: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,470 INFO L290 TraceCheckUtils]: 79: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,470 INFO L290 TraceCheckUtils]: 80: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,471 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 10:51:54,471 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 10:51:54,471 INFO L290 TraceCheckUtils]: 83: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,471 INFO L290 TraceCheckUtils]: 84: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,471 INFO L290 TraceCheckUtils]: 85: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,472 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 10:51:54,472 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 10:51:54,472 INFO L290 TraceCheckUtils]: 88: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,472 INFO L290 TraceCheckUtils]: 89: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,472 INFO L290 TraceCheckUtils]: 90: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,473 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 10:51:54,473 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 10:51:54,473 INFO L290 TraceCheckUtils]: 93: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,473 INFO L290 TraceCheckUtils]: 94: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,473 INFO L290 TraceCheckUtils]: 95: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,474 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 10:51:54,474 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 10:51:54,475 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 10:51:54,475 INFO L290 TraceCheckUtils]: 99: Hoare triple {18370#(< 0 main_~b~0)} assume !false; {18370#(< 0 main_~b~0)} is VALID [2022-04-08 10:51:54,475 INFO L290 TraceCheckUtils]: 100: Hoare triple {18370#(< 0 main_~b~0)} assume !(0 != ~b~0); {18068#false} is VALID [2022-04-08 10:51:54,476 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 10:51:54,476 INFO L290 TraceCheckUtils]: 102: Hoare triple {18068#false} ~cond := #in~cond; {18068#false} is VALID [2022-04-08 10:51:54,476 INFO L290 TraceCheckUtils]: 103: Hoare triple {18068#false} assume 0 == ~cond; {18068#false} is VALID [2022-04-08 10:51:54,476 INFO L290 TraceCheckUtils]: 104: Hoare triple {18068#false} assume !false; {18068#false} is VALID [2022-04-08 10:51:54,476 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 10:51:54,476 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:51:54,781 INFO L290 TraceCheckUtils]: 104: Hoare triple {18068#false} assume !false; {18068#false} is VALID [2022-04-08 10:51:54,781 INFO L290 TraceCheckUtils]: 103: Hoare triple {18068#false} assume 0 == ~cond; {18068#false} is VALID [2022-04-08 10:51:54,781 INFO L290 TraceCheckUtils]: 102: Hoare triple {18068#false} ~cond := #in~cond; {18068#false} is VALID [2022-04-08 10:51:54,781 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 10:51:54,781 INFO L290 TraceCheckUtils]: 100: Hoare triple {18370#(< 0 main_~b~0)} assume !(0 != ~b~0); {18068#false} is VALID [2022-04-08 10:51:54,782 INFO L290 TraceCheckUtils]: 99: Hoare triple {18370#(< 0 main_~b~0)} assume !false; {18370#(< 0 main_~b~0)} is VALID [2022-04-08 10:51:54,782 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 10:51:54,782 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 10:51:54,783 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 10:51:54,783 INFO L290 TraceCheckUtils]: 95: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,783 INFO L290 TraceCheckUtils]: 94: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,783 INFO L290 TraceCheckUtils]: 93: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,783 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 10:51:54,784 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 10:51:54,784 INFO L290 TraceCheckUtils]: 90: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,784 INFO L290 TraceCheckUtils]: 89: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,784 INFO L290 TraceCheckUtils]: 88: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,784 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 10:51:54,785 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 10:51:54,785 INFO L290 TraceCheckUtils]: 85: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,785 INFO L290 TraceCheckUtils]: 84: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,785 INFO L290 TraceCheckUtils]: 83: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,785 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 10:51:54,785 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 10:51:54,785 INFO L290 TraceCheckUtils]: 80: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,785 INFO L290 TraceCheckUtils]: 79: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,786 INFO L290 TraceCheckUtils]: 78: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,786 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 10:51:54,786 INFO L290 TraceCheckUtils]: 76: Hoare triple {18300#(< 0 main_~c~0)} assume !false; {18300#(< 0 main_~c~0)} is VALID [2022-04-08 10:51:54,787 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 10:51:54,788 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 10:51:54,788 INFO L290 TraceCheckUtils]: 73: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,788 INFO L290 TraceCheckUtils]: 72: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,788 INFO L290 TraceCheckUtils]: 71: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,788 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 10:51:54,789 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 10:51:54,789 INFO L290 TraceCheckUtils]: 68: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,789 INFO L290 TraceCheckUtils]: 67: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,789 INFO L290 TraceCheckUtils]: 66: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,789 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 10:51:54,789 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 10:51:54,790 INFO L290 TraceCheckUtils]: 63: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,790 INFO L290 TraceCheckUtils]: 62: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,790 INFO L290 TraceCheckUtils]: 61: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,790 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 10:51:54,790 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 10:51:54,790 INFO L290 TraceCheckUtils]: 58: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,790 INFO L290 TraceCheckUtils]: 57: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,790 INFO L290 TraceCheckUtils]: 56: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,790 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 10:51:54,791 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 10:51:54,791 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 10:51:54,791 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 10:51:54,793 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 10:51:54,793 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 10:51:54,793 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {18067#true} {18067#true} #90#return; {18067#true} is VALID [2022-04-08 10:51:54,793 INFO L290 TraceCheckUtils]: 48: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,793 INFO L290 TraceCheckUtils]: 47: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,793 INFO L290 TraceCheckUtils]: 46: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,793 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 10:51:54,793 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {18067#true} {18067#true} #88#return; {18067#true} is VALID [2022-04-08 10:51:54,793 INFO L290 TraceCheckUtils]: 43: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,793 INFO L290 TraceCheckUtils]: 42: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,794 INFO L290 TraceCheckUtils]: 41: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,794 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 10:51:54,794 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {18067#true} {18067#true} #86#return; {18067#true} is VALID [2022-04-08 10:51:54,794 INFO L290 TraceCheckUtils]: 38: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,794 INFO L290 TraceCheckUtils]: 37: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,794 INFO L290 TraceCheckUtils]: 36: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,794 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 10:51:54,794 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {18067#true} {18067#true} #84#return; {18067#true} is VALID [2022-04-08 10:51:54,794 INFO L290 TraceCheckUtils]: 33: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,794 INFO L290 TraceCheckUtils]: 32: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,794 INFO L290 TraceCheckUtils]: 31: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,795 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 10:51:54,795 INFO L290 TraceCheckUtils]: 29: Hoare triple {18067#true} assume !false; {18067#true} is VALID [2022-04-08 10:51:54,795 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 10:51:54,795 INFO L290 TraceCheckUtils]: 27: Hoare triple {18067#true} assume !false; {18067#true} is VALID [2022-04-08 10:51:54,795 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18067#true} {18067#true} #82#return; {18067#true} is VALID [2022-04-08 10:51:54,795 INFO L290 TraceCheckUtils]: 25: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,795 INFO L290 TraceCheckUtils]: 24: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,795 INFO L290 TraceCheckUtils]: 23: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,795 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 10:51:54,795 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18067#true} {18067#true} #80#return; {18067#true} is VALID [2022-04-08 10:51:54,795 INFO L290 TraceCheckUtils]: 20: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,795 INFO L290 TraceCheckUtils]: 19: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,795 INFO L290 TraceCheckUtils]: 18: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,795 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 10:51:54,796 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 10:51:54,796 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18067#true} {18067#true} #78#return; {18067#true} is VALID [2022-04-08 10:51:54,796 INFO L290 TraceCheckUtils]: 14: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,796 INFO L290 TraceCheckUtils]: 13: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,796 INFO L290 TraceCheckUtils]: 12: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,796 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 10:51:54,796 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18067#true} {18067#true} #76#return; {18067#true} is VALID [2022-04-08 10:51:54,796 INFO L290 TraceCheckUtils]: 9: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,796 INFO L290 TraceCheckUtils]: 8: Hoare triple {18067#true} assume !(0 == ~cond); {18067#true} is VALID [2022-04-08 10:51:54,796 INFO L290 TraceCheckUtils]: 7: Hoare triple {18067#true} ~cond := #in~cond; {18067#true} is VALID [2022-04-08 10:51:54,796 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 10:51:54,796 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 10:51:54,796 INFO L272 TraceCheckUtils]: 4: Hoare triple {18067#true} call #t~ret6 := main(); {18067#true} is VALID [2022-04-08 10:51:54,796 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18067#true} {18067#true} #96#return; {18067#true} is VALID [2022-04-08 10:51:54,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {18067#true} assume true; {18067#true} is VALID [2022-04-08 10:51:54,797 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 10:51:54,797 INFO L272 TraceCheckUtils]: 0: Hoare triple {18067#true} call ULTIMATE.init(); {18067#true} is VALID [2022-04-08 10:51:54,797 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 10:51:54,797 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:51:54,797 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2094998510] [2022-04-08 10:51:54,797 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:51:54,797 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [834540912] [2022-04-08 10:51:54,797 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [834540912] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:51:54,797 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:51:54,798 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2022-04-08 10:51:54,798 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:51:54,798 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1283967107] [2022-04-08 10:51:54,798 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1283967107] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:51:54,798 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:51:54,798 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 10:51:54,798 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [31655014] [2022-04-08 10:51:54,798 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:51:54,798 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 10:51:54,799 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:51:54,799 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 10:51:54,852 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 10:51:54,852 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 10:51:54,852 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:51:54,853 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 10:51:54,853 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-04-08 10:51:54,853 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 10:51:56,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:51:56,334 INFO L93 Difference]: Finished difference Result 257 states and 349 transitions. [2022-04-08 10:51:56,334 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 10:51:56,334 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 10:51:56,334 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:51:56,334 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 10:51:56,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 121 transitions. [2022-04-08 10:51:56,336 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 10:51:56,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 121 transitions. [2022-04-08 10:51:56,337 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 121 transitions. [2022-04-08 10:51:56,451 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 10:51:56,456 INFO L225 Difference]: With dead ends: 257 [2022-04-08 10:51:56,456 INFO L226 Difference]: Without dead ends: 249 [2022-04-08 10:51:56,456 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 10:51:56,457 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 10:51:56,457 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 10:51:56,457 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 249 states. [2022-04-08 10:51:56,868 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 249 to 230. [2022-04-08 10:51:56,868 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:51:56,869 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 10:51:56,869 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 10:51:56,870 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 10:51:56,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:51:56,877 INFO L93 Difference]: Finished difference Result 249 states and 340 transitions. [2022-04-08 10:51:56,877 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 340 transitions. [2022-04-08 10:51:56,878 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:51:56,878 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:51:56,879 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 10:51:56,879 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 10:51:56,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:51:56,887 INFO L93 Difference]: Finished difference Result 249 states and 340 transitions. [2022-04-08 10:51:56,887 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 340 transitions. [2022-04-08 10:51:56,888 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:51:56,888 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:51:56,888 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:51:56,888 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:51:56,889 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 10:51:56,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 230 states to 230 states and 307 transitions. [2022-04-08 10:51:56,896 INFO L78 Accepts]: Start accepts. Automaton has 230 states and 307 transitions. Word has length 105 [2022-04-08 10:51:56,896 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:51:56,896 INFO L478 AbstractCegarLoop]: Abstraction has 230 states and 307 transitions. [2022-04-08 10:51:56,897 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 10:51:56,897 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 230 states and 307 transitions. [2022-04-08 10:51:57,644 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 10:51:57,644 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 307 transitions. [2022-04-08 10:51:57,645 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-08 10:51:57,645 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:51:57,645 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 10:51:57,671 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 10:51:57,845 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 10:51:57,846 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:51:57,846 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:51:57,846 INFO L85 PathProgramCache]: Analyzing trace with hash -2080181613, now seen corresponding path program 3 times [2022-04-08 10:51:57,846 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:51:57,847 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1581720084] [2022-04-08 10:51:57,847 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:51:57,847 INFO L85 PathProgramCache]: Analyzing trace with hash -2080181613, now seen corresponding path program 4 times [2022-04-08 10:51:57,847 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:51:57,847 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1411080732] [2022-04-08 10:51:57,847 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:51:57,847 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:51:57,863 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:51:57,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1324479326] [2022-04-08 10:51:57,864 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:51:57,864 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:51:57,864 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:51:57,865 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 10:51:57,867 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 10:51:57,928 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:51:57,929 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:51:57,931 INFO L263 TraceCheckSpWp]: Trace formula consists of 247 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-08 10:51:57,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:51:57,954 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:52:00,817 INFO L272 TraceCheckUtils]: 0: Hoare triple {20194#true} call ULTIMATE.init(); {20194#true} is VALID [2022-04-08 10:52:00,817 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 10:52:00,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:00,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20194#true} {20194#true} #96#return; {20194#true} is VALID [2022-04-08 10:52:00,817 INFO L272 TraceCheckUtils]: 4: Hoare triple {20194#true} call #t~ret6 := main(); {20194#true} is VALID [2022-04-08 10:52:00,817 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 10:52:00,817 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 10:52:00,817 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 10:52:00,818 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 10:52:00,818 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 10:52:00,819 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 10:52:00,819 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 10:52:00,819 INFO L290 TraceCheckUtils]: 12: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:00,819 INFO L290 TraceCheckUtils]: 13: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:00,819 INFO L290 TraceCheckUtils]: 14: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:00,819 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 10:52:00,820 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 10:52:00,820 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 10:52:00,820 INFO L290 TraceCheckUtils]: 18: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:00,820 INFO L290 TraceCheckUtils]: 19: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:00,820 INFO L290 TraceCheckUtils]: 20: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:00,820 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 10:52:00,821 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 10:52:00,821 INFO L290 TraceCheckUtils]: 23: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:00,821 INFO L290 TraceCheckUtils]: 24: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:00,821 INFO L290 TraceCheckUtils]: 25: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:00,821 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 10:52:00,822 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 10:52:00,822 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 10:52:00,822 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 10:52:00,822 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 10:52:00,822 INFO L290 TraceCheckUtils]: 31: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:00,823 INFO L290 TraceCheckUtils]: 32: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:00,823 INFO L290 TraceCheckUtils]: 33: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:00,823 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 10:52:00,823 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 10:52:00,823 INFO L290 TraceCheckUtils]: 36: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:00,823 INFO L290 TraceCheckUtils]: 37: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:00,823 INFO L290 TraceCheckUtils]: 38: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:00,824 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 10:52:00,824 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 10:52:00,824 INFO L290 TraceCheckUtils]: 41: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:00,824 INFO L290 TraceCheckUtils]: 42: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:00,824 INFO L290 TraceCheckUtils]: 43: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:00,825 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 10:52:00,825 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 10:52:00,825 INFO L290 TraceCheckUtils]: 46: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:00,825 INFO L290 TraceCheckUtils]: 47: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:00,825 INFO L290 TraceCheckUtils]: 48: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:00,826 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 10:52:00,826 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 10:52:00,827 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 10:52:00,827 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 10:52:00,827 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 10:52:00,828 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 10:52:00,828 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 10:52:00,828 INFO L290 TraceCheckUtils]: 56: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:00,828 INFO L290 TraceCheckUtils]: 57: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:00,828 INFO L290 TraceCheckUtils]: 58: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:00,829 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 10:52:00,829 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 10:52:00,829 INFO L290 TraceCheckUtils]: 61: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:00,829 INFO L290 TraceCheckUtils]: 62: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:00,829 INFO L290 TraceCheckUtils]: 63: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:00,829 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 10:52:00,830 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 10:52:00,830 INFO L290 TraceCheckUtils]: 66: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:00,830 INFO L290 TraceCheckUtils]: 67: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:00,830 INFO L290 TraceCheckUtils]: 68: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:00,830 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 10:52:00,830 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 10:52:00,830 INFO L290 TraceCheckUtils]: 71: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:00,830 INFO L290 TraceCheckUtils]: 72: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:00,831 INFO L290 TraceCheckUtils]: 73: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:00,831 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 10:52:00,833 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 10:52:00,833 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 10:52:00,833 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 10:52:00,833 INFO L290 TraceCheckUtils]: 78: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:00,833 INFO L290 TraceCheckUtils]: 79: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:00,833 INFO L290 TraceCheckUtils]: 80: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:00,834 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 10:52:00,834 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 10:52:00,834 INFO L290 TraceCheckUtils]: 83: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:00,834 INFO L290 TraceCheckUtils]: 84: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:00,834 INFO L290 TraceCheckUtils]: 85: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:00,835 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 10:52:00,835 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 10:52:00,835 INFO L290 TraceCheckUtils]: 88: Hoare triple {20194#true} ~cond := #in~cond; {20472#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:52:00,835 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 10:52:00,836 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 10:52:00,836 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 10:52:00,837 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 10:52:00,837 INFO L290 TraceCheckUtils]: 93: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:00,837 INFO L290 TraceCheckUtils]: 94: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:00,837 INFO L290 TraceCheckUtils]: 95: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:00,837 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 10:52:00,839 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 10:52:00,840 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 10:52:00,840 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 10:52:00,841 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 10:52:00,841 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 10:52:00,841 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 10:52:00,841 INFO L290 TraceCheckUtils]: 103: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:00,841 INFO L290 TraceCheckUtils]: 104: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:00,842 INFO L290 TraceCheckUtils]: 105: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:00,842 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 10:52:00,843 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 10:52:00,843 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 10:52:00,843 INFO L290 TraceCheckUtils]: 109: Hoare triple {20538#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20195#false} is VALID [2022-04-08 10:52:00,844 INFO L290 TraceCheckUtils]: 110: Hoare triple {20195#false} assume !false; {20195#false} is VALID [2022-04-08 10:52:00,844 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 10:52:00,844 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:52:26,951 INFO L290 TraceCheckUtils]: 110: Hoare triple {20195#false} assume !false; {20195#false} is VALID [2022-04-08 10:52:26,951 INFO L290 TraceCheckUtils]: 109: Hoare triple {20538#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20195#false} is VALID [2022-04-08 10:52:26,952 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 10:52:26,952 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 10:52:26,953 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 10:52:26,953 INFO L290 TraceCheckUtils]: 105: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,953 INFO L290 TraceCheckUtils]: 104: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:26,953 INFO L290 TraceCheckUtils]: 103: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:26,953 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 10:52:26,954 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 10:52:26,954 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 10:52:26,954 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 10:52:26,955 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 10:52:26,955 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 10:52:26,956 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 10:52:26,956 INFO L290 TraceCheckUtils]: 95: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,956 INFO L290 TraceCheckUtils]: 94: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:26,956 INFO L290 TraceCheckUtils]: 93: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:26,956 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 10:52:26,957 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 10:52:26,957 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 10:52:26,958 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 10:52:26,958 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 10:52:26,958 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 10:52:26,958 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {20194#true} {20194#true} #86#return; {20194#true} is VALID [2022-04-08 10:52:26,958 INFO L290 TraceCheckUtils]: 85: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,958 INFO L290 TraceCheckUtils]: 84: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:26,958 INFO L290 TraceCheckUtils]: 83: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:26,958 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 10:52:26,958 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {20194#true} {20194#true} #84#return; {20194#true} is VALID [2022-04-08 10:52:26,959 INFO L290 TraceCheckUtils]: 80: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,959 INFO L290 TraceCheckUtils]: 79: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:26,959 INFO L290 TraceCheckUtils]: 78: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:26,959 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 10:52:26,959 INFO L290 TraceCheckUtils]: 76: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-08 10:52:26,959 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 10:52:26,959 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {20194#true} {20194#true} #90#return; {20194#true} is VALID [2022-04-08 10:52:26,959 INFO L290 TraceCheckUtils]: 73: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,959 INFO L290 TraceCheckUtils]: 72: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:26,959 INFO L290 TraceCheckUtils]: 71: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:26,959 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 10:52:26,959 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {20194#true} {20194#true} #88#return; {20194#true} is VALID [2022-04-08 10:52:26,959 INFO L290 TraceCheckUtils]: 68: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,959 INFO L290 TraceCheckUtils]: 67: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:26,960 INFO L290 TraceCheckUtils]: 66: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:26,960 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 10:52:26,960 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20194#true} {20194#true} #86#return; {20194#true} is VALID [2022-04-08 10:52:26,960 INFO L290 TraceCheckUtils]: 63: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,960 INFO L290 TraceCheckUtils]: 62: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:26,960 INFO L290 TraceCheckUtils]: 61: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:26,960 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 10:52:26,960 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {20194#true} {20194#true} #84#return; {20194#true} is VALID [2022-04-08 10:52:26,960 INFO L290 TraceCheckUtils]: 58: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,960 INFO L290 TraceCheckUtils]: 57: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:26,960 INFO L290 TraceCheckUtils]: 56: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:26,960 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 10:52:26,960 INFO L290 TraceCheckUtils]: 54: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-08 10:52:26,960 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 10:52:26,961 INFO L290 TraceCheckUtils]: 52: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-08 10:52:26,961 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 10:52:26,961 INFO L290 TraceCheckUtils]: 50: Hoare triple {20194#true} assume !(~c~0 >= ~b~0); {20194#true} is VALID [2022-04-08 10:52:26,961 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {20194#true} {20194#true} #90#return; {20194#true} is VALID [2022-04-08 10:52:26,961 INFO L290 TraceCheckUtils]: 48: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,961 INFO L290 TraceCheckUtils]: 47: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:26,961 INFO L290 TraceCheckUtils]: 46: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:26,961 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 10:52:26,961 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {20194#true} {20194#true} #88#return; {20194#true} is VALID [2022-04-08 10:52:26,961 INFO L290 TraceCheckUtils]: 43: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,961 INFO L290 TraceCheckUtils]: 42: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:26,961 INFO L290 TraceCheckUtils]: 41: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:26,961 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 10:52:26,961 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {20194#true} {20194#true} #86#return; {20194#true} is VALID [2022-04-08 10:52:26,962 INFO L290 TraceCheckUtils]: 38: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,962 INFO L290 TraceCheckUtils]: 37: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:26,962 INFO L290 TraceCheckUtils]: 36: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:26,962 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 10:52:26,962 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {20194#true} {20194#true} #84#return; {20194#true} is VALID [2022-04-08 10:52:26,962 INFO L290 TraceCheckUtils]: 33: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,962 INFO L290 TraceCheckUtils]: 32: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:26,962 INFO L290 TraceCheckUtils]: 31: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:26,962 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 10:52:26,962 INFO L290 TraceCheckUtils]: 29: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-08 10:52:26,962 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 10:52:26,962 INFO L290 TraceCheckUtils]: 27: Hoare triple {20194#true} assume !false; {20194#true} is VALID [2022-04-08 10:52:26,962 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20194#true} {20194#true} #82#return; {20194#true} is VALID [2022-04-08 10:52:26,962 INFO L290 TraceCheckUtils]: 25: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,963 INFO L290 TraceCheckUtils]: 24: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:26,963 INFO L290 TraceCheckUtils]: 23: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:26,963 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 10:52:26,963 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20194#true} {20194#true} #80#return; {20194#true} is VALID [2022-04-08 10:52:26,963 INFO L290 TraceCheckUtils]: 20: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,963 INFO L290 TraceCheckUtils]: 19: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:26,963 INFO L290 TraceCheckUtils]: 18: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:26,963 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 10:52:26,963 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 10:52:26,963 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20194#true} {20194#true} #78#return; {20194#true} is VALID [2022-04-08 10:52:26,963 INFO L290 TraceCheckUtils]: 14: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,963 INFO L290 TraceCheckUtils]: 13: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:26,963 INFO L290 TraceCheckUtils]: 12: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:26,963 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 10:52:26,964 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20194#true} {20194#true} #76#return; {20194#true} is VALID [2022-04-08 10:52:26,964 INFO L290 TraceCheckUtils]: 9: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,964 INFO L290 TraceCheckUtils]: 8: Hoare triple {20194#true} assume !(0 == ~cond); {20194#true} is VALID [2022-04-08 10:52:26,964 INFO L290 TraceCheckUtils]: 7: Hoare triple {20194#true} ~cond := #in~cond; {20194#true} is VALID [2022-04-08 10:52:26,964 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 10:52:26,964 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 10:52:26,964 INFO L272 TraceCheckUtils]: 4: Hoare triple {20194#true} call #t~ret6 := main(); {20194#true} is VALID [2022-04-08 10:52:26,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20194#true} {20194#true} #96#return; {20194#true} is VALID [2022-04-08 10:52:26,964 INFO L290 TraceCheckUtils]: 2: Hoare triple {20194#true} assume true; {20194#true} is VALID [2022-04-08 10:52:26,964 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 10:52:26,964 INFO L272 TraceCheckUtils]: 0: Hoare triple {20194#true} call ULTIMATE.init(); {20194#true} is VALID [2022-04-08 10:52:26,965 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 10:52:26,965 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:52:26,965 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1411080732] [2022-04-08 10:52:26,965 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:52:26,965 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1324479326] [2022-04-08 10:52:26,965 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1324479326] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:52:26,965 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:52:26,966 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 9] total 22 [2022-04-08 10:52:26,966 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:52:26,966 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1581720084] [2022-04-08 10:52:26,966 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1581720084] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:52:26,966 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:52:26,966 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-08 10:52:26,966 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [24582361] [2022-04-08 10:52:26,966 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:52:26,967 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 10:52:26,967 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:52:26,967 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 10:52:27,039 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 10:52:27,039 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-08 10:52:27,039 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:52:27,040 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-08 10:52:27,040 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=399, Unknown=0, NotChecked=0, Total=462 [2022-04-08 10:52:27,040 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 10:52:39,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:52:39,828 INFO L93 Difference]: Finished difference Result 260 states and 350 transitions. [2022-04-08 10:52:39,828 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 10:52:39,828 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 10:52:39,828 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:52:39,829 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 10:52:39,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 122 transitions. [2022-04-08 10:52:39,831 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 10:52:39,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 122 transitions. [2022-04-08 10:52:39,833 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 122 transitions. [2022-04-08 10:52:39,987 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 10:52:39,994 INFO L225 Difference]: With dead ends: 260 [2022-04-08 10:52:39,994 INFO L226 Difference]: Without dead ends: 258 [2022-04-08 10:52:39,994 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 230 GetRequests, 200 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 167 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=123, Invalid=807, Unknown=0, NotChecked=0, Total=930 [2022-04-08 10:52:39,995 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 53 mSDsluCounter, 173 mSDsCounter, 0 mSdLazyCounter, 749 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.1s 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, 5.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:52:39,995 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [69 Valid, 217 Invalid, 805 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 749 Invalid, 0 Unknown, 0 Unchecked, 5.1s Time] [2022-04-08 10:52:39,996 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 258 states. [2022-04-08 10:52:40,567 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 258 to 255. [2022-04-08 10:52:40,567 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:52:40,568 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 10:52:40,568 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 10:52:40,569 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 10:52:40,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:52:40,576 INFO L93 Difference]: Finished difference Result 258 states and 348 transitions. [2022-04-08 10:52:40,576 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 348 transitions. [2022-04-08 10:52:40,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:52:40,578 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:52:40,578 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 10:52:40,579 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 10:52:40,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:52:40,587 INFO L93 Difference]: Finished difference Result 258 states and 348 transitions. [2022-04-08 10:52:40,587 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 348 transitions. [2022-04-08 10:52:40,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:52:40,588 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:52:40,588 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:52:40,588 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:52:40,589 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 10:52:40,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 255 states to 255 states and 345 transitions. [2022-04-08 10:52:40,597 INFO L78 Accepts]: Start accepts. Automaton has 255 states and 345 transitions. Word has length 111 [2022-04-08 10:52:40,598 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:52:40,598 INFO L478 AbstractCegarLoop]: Abstraction has 255 states and 345 transitions. [2022-04-08 10:52:40,598 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 10:52:40,598 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 255 states and 345 transitions. [2022-04-08 10:52:41,364 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 10:52:41,365 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 345 transitions. [2022-04-08 10:52:41,365 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-08 10:52:41,365 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:52:41,366 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 10:52:41,383 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 10:52:41,566 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 10:52:41,566 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:52:41,566 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:52:41,567 INFO L85 PathProgramCache]: Analyzing trace with hash -1295483154, now seen corresponding path program 5 times [2022-04-08 10:52:41,567 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:52:41,567 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [54403628] [2022-04-08 10:52:41,567 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:52:41,567 INFO L85 PathProgramCache]: Analyzing trace with hash -1295483154, now seen corresponding path program 6 times [2022-04-08 10:52:41,567 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:52:41,568 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1637030095] [2022-04-08 10:52:41,568 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:52:41,568 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:52:41,581 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:52:41,581 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [507767897] [2022-04-08 10:52:41,582 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:52:41,582 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:52:41,582 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:52:41,583 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 10:52:41,584 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 10:52:41,671 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 10:52:41,672 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:52:41,674 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 82 conjunts are in the unsatisfiable core [2022-04-08 10:52:41,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:52:41,697 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:52:58,830 INFO L272 TraceCheckUtils]: 0: Hoare triple {22445#true} call ULTIMATE.init(); {22445#true} is VALID [2022-04-08 10:52:58,830 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 10:52:58,830 INFO L290 TraceCheckUtils]: 2: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:52:58,830 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22445#true} {22445#true} #96#return; {22445#true} is VALID [2022-04-08 10:52:58,830 INFO L272 TraceCheckUtils]: 4: Hoare triple {22445#true} call #t~ret6 := main(); {22445#true} is VALID [2022-04-08 10:52:58,830 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 10:52:58,830 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 10:52:58,830 INFO L290 TraceCheckUtils]: 7: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:52:58,830 INFO L290 TraceCheckUtils]: 8: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:52:58,831 INFO L290 TraceCheckUtils]: 9: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:52:58,831 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22445#true} {22445#true} #76#return; {22445#true} is VALID [2022-04-08 10:52:58,831 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 10:52:58,831 INFO L290 TraceCheckUtils]: 12: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:52:58,831 INFO L290 TraceCheckUtils]: 13: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:52:58,831 INFO L290 TraceCheckUtils]: 14: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:52:58,831 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22445#true} {22445#true} #78#return; {22445#true} is VALID [2022-04-08 10:52:58,832 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 10:52:58,832 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 10:52:58,832 INFO L290 TraceCheckUtils]: 18: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:52:58,832 INFO L290 TraceCheckUtils]: 19: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:52:58,832 INFO L290 TraceCheckUtils]: 20: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:52:58,833 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 10:52:58,833 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 10:52:58,833 INFO L290 TraceCheckUtils]: 23: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:52:58,833 INFO L290 TraceCheckUtils]: 24: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:52:58,833 INFO L290 TraceCheckUtils]: 25: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:52:58,834 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 10:52:58,834 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 10:52:58,835 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 10:52:58,835 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 10:52:58,835 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 10:52:58,835 INFO L290 TraceCheckUtils]: 31: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:52:58,835 INFO L290 TraceCheckUtils]: 32: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:52:58,835 INFO L290 TraceCheckUtils]: 33: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:52:58,836 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 10:52:58,836 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 10:52:58,836 INFO L290 TraceCheckUtils]: 36: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:52:58,836 INFO L290 TraceCheckUtils]: 37: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:52:58,836 INFO L290 TraceCheckUtils]: 38: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:52:58,837 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 10:52:58,837 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 10:52:58,837 INFO L290 TraceCheckUtils]: 41: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:52:58,837 INFO L290 TraceCheckUtils]: 42: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:52:58,837 INFO L290 TraceCheckUtils]: 43: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:52:58,838 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 10:52:58,838 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 10:52:58,838 INFO L290 TraceCheckUtils]: 46: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:52:58,838 INFO L290 TraceCheckUtils]: 47: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:52:58,838 INFO L290 TraceCheckUtils]: 48: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:52:58,839 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 10:52:58,843 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 10:52:58,845 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 10:52:58,845 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 10:52:58,846 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 10:52:58,846 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 10:52:58,846 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 10:52:58,846 INFO L290 TraceCheckUtils]: 56: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:52:58,847 INFO L290 TraceCheckUtils]: 57: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:52:58,847 INFO L290 TraceCheckUtils]: 58: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:52:58,847 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 10:52:58,847 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 10:52:58,848 INFO L290 TraceCheckUtils]: 61: Hoare triple {22445#true} ~cond := #in~cond; {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:52:58,848 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 10:52:58,848 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 10:52:58,849 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 10:52:58,849 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 10:52:58,849 INFO L290 TraceCheckUtils]: 66: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:52:58,850 INFO L290 TraceCheckUtils]: 67: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:52:58,850 INFO L290 TraceCheckUtils]: 68: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:52:58,850 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 10:52:58,850 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 10:52:58,850 INFO L290 TraceCheckUtils]: 71: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:52:58,851 INFO L290 TraceCheckUtils]: 72: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:52:58,851 INFO L290 TraceCheckUtils]: 73: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:52:58,851 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 10:52:58,852 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 10:52:58,853 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 10:52:58,853 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 10:52:58,853 INFO L290 TraceCheckUtils]: 78: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:52:58,853 INFO L290 TraceCheckUtils]: 79: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:52:58,853 INFO L290 TraceCheckUtils]: 80: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:52:58,854 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 10:52:58,854 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 10:52:58,854 INFO L290 TraceCheckUtils]: 83: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:52:58,854 INFO L290 TraceCheckUtils]: 84: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:52:58,854 INFO L290 TraceCheckUtils]: 85: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:52:58,855 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 10:52:58,855 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 10:52:58,855 INFO L290 TraceCheckUtils]: 88: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:52:58,855 INFO L290 TraceCheckUtils]: 89: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:52:58,855 INFO L290 TraceCheckUtils]: 90: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:52:58,856 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 10:52:58,856 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 10:52:58,856 INFO L290 TraceCheckUtils]: 93: Hoare triple {22445#true} ~cond := #in~cond; {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:52:58,857 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 10:52:58,857 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 10:53:00,861 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 10:53:00,864 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 10:53:00,866 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 10:53:00,867 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 10:53:00,878 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 10:53:00,879 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 10:53:00,879 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 10:53:00,879 INFO L290 TraceCheckUtils]: 103: Hoare triple {22445#true} ~cond := #in~cond; {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:53:00,880 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 10:53:00,880 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 10:53:00,882 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 10:53:00,882 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 10:53:00,882 INFO L290 TraceCheckUtils]: 108: Hoare triple {22445#true} ~cond := #in~cond; {22638#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:53:00,883 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 10:53:00,883 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 10:53:00,888 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 10:53:00,890 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 10:53:00,890 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 10:53:00,890 INFO L290 TraceCheckUtils]: 114: Hoare triple {22804#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22446#false} is VALID [2022-04-08 10:53:00,890 INFO L290 TraceCheckUtils]: 115: Hoare triple {22446#false} assume !false; {22446#false} is VALID [2022-04-08 10:53:00,891 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 10:53:00,891 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:56:49,896 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 10:57:22,017 INFO L290 TraceCheckUtils]: 115: Hoare triple {22446#false} assume !false; {22446#false} is VALID [2022-04-08 10:57:22,018 INFO L290 TraceCheckUtils]: 114: Hoare triple {22804#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22446#false} is VALID [2022-04-08 10:57:22,018 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 10:57:22,019 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 10:57:22,020 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 10:57:22,020 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 10:57:22,021 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 10:57:22,021 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 10:57:22,021 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 10:57:22,022 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 10:57:22,022 INFO L290 TraceCheckUtils]: 105: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:57:22,022 INFO L290 TraceCheckUtils]: 104: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:57:22,022 INFO L290 TraceCheckUtils]: 103: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:57:22,022 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 10:57:22,023 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 10:57:22,023 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 10:57:22,024 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 10:57:22,036 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 10:57:22,037 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 10:57:24,041 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 10:57:26,044 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 10:57:28,047 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 10:57:30,052 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 10:57:32,065 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 10:57:32,066 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 10:57:32,066 INFO L290 TraceCheckUtils]: 90: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:57:32,066 INFO L290 TraceCheckUtils]: 89: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:57:32,066 INFO L290 TraceCheckUtils]: 88: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:57:32,067 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 10:57:32,067 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 10:57:32,067 INFO L290 TraceCheckUtils]: 85: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:57:32,067 INFO L290 TraceCheckUtils]: 84: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:57:32,068 INFO L290 TraceCheckUtils]: 83: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:57:32,068 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 10:57:32,068 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 10:57:32,068 INFO L290 TraceCheckUtils]: 80: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:57:32,069 INFO L290 TraceCheckUtils]: 79: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:57:32,069 INFO L290 TraceCheckUtils]: 78: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:57:32,069 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 10:57:32,070 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 10:57:32,118 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 10:57:32,119 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 10:57:32,119 INFO L290 TraceCheckUtils]: 73: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:57:32,119 INFO L290 TraceCheckUtils]: 72: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:57:32,119 INFO L290 TraceCheckUtils]: 71: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:57:32,119 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 10:57:32,120 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 10:57:32,120 INFO L290 TraceCheckUtils]: 68: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:57:32,120 INFO L290 TraceCheckUtils]: 67: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:57:32,120 INFO L290 TraceCheckUtils]: 66: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:57:32,120 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 10:57:32,122 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 10:57:32,122 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 10:57:32,122 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 10:57:32,123 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 10:57:32,123 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 10:57:32,124 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 10:57:32,124 INFO L290 TraceCheckUtils]: 58: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:57:32,124 INFO L290 TraceCheckUtils]: 57: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:57:32,124 INFO L290 TraceCheckUtils]: 56: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:57:32,124 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 10:57:32,126 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 10:57:32,128 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 10:57:32,129 INFO L290 TraceCheckUtils]: 52: Hoare triple {22445#true} assume !false; {22445#true} is VALID [2022-04-08 10:57:32,129 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 10:57:32,129 INFO L290 TraceCheckUtils]: 50: Hoare triple {22445#true} assume !(~c~0 >= ~b~0); {22445#true} is VALID [2022-04-08 10:57:32,129 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {22445#true} {22445#true} #90#return; {22445#true} is VALID [2022-04-08 10:57:32,129 INFO L290 TraceCheckUtils]: 48: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:57:32,129 INFO L290 TraceCheckUtils]: 47: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:57:32,129 INFO L290 TraceCheckUtils]: 46: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:57:32,129 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 10:57:32,130 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {22445#true} {22445#true} #88#return; {22445#true} is VALID [2022-04-08 10:57:32,130 INFO L290 TraceCheckUtils]: 43: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:57:32,130 INFO L290 TraceCheckUtils]: 42: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:57:32,130 INFO L290 TraceCheckUtils]: 41: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:57:32,130 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 10:57:32,130 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {22445#true} {22445#true} #86#return; {22445#true} is VALID [2022-04-08 10:57:32,130 INFO L290 TraceCheckUtils]: 38: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:57:32,130 INFO L290 TraceCheckUtils]: 37: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:57:32,130 INFO L290 TraceCheckUtils]: 36: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:57:32,130 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 10:57:32,131 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {22445#true} {22445#true} #84#return; {22445#true} is VALID [2022-04-08 10:57:32,131 INFO L290 TraceCheckUtils]: 33: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:57:32,131 INFO L290 TraceCheckUtils]: 32: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:57:32,131 INFO L290 TraceCheckUtils]: 31: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:57:32,131 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 10:57:32,131 INFO L290 TraceCheckUtils]: 29: Hoare triple {22445#true} assume !false; {22445#true} is VALID [2022-04-08 10:57:32,131 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 10:57:32,131 INFO L290 TraceCheckUtils]: 27: Hoare triple {22445#true} assume !false; {22445#true} is VALID [2022-04-08 10:57:32,131 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22445#true} {22445#true} #82#return; {22445#true} is VALID [2022-04-08 10:57:32,131 INFO L290 TraceCheckUtils]: 25: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:57:32,131 INFO L290 TraceCheckUtils]: 24: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:57:32,131 INFO L290 TraceCheckUtils]: 23: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:57:32,131 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 10:57:32,132 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22445#true} {22445#true} #80#return; {22445#true} is VALID [2022-04-08 10:57:32,132 INFO L290 TraceCheckUtils]: 20: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:57:32,132 INFO L290 TraceCheckUtils]: 19: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:57:32,132 INFO L290 TraceCheckUtils]: 18: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:57:32,132 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 10:57:32,132 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 10:57:32,132 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22445#true} {22445#true} #78#return; {22445#true} is VALID [2022-04-08 10:57:32,132 INFO L290 TraceCheckUtils]: 14: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:57:32,132 INFO L290 TraceCheckUtils]: 13: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:57:32,132 INFO L290 TraceCheckUtils]: 12: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:57:32,132 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 10:57:32,132 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22445#true} {22445#true} #76#return; {22445#true} is VALID [2022-04-08 10:57:32,132 INFO L290 TraceCheckUtils]: 9: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:57:32,132 INFO L290 TraceCheckUtils]: 8: Hoare triple {22445#true} assume !(0 == ~cond); {22445#true} is VALID [2022-04-08 10:57:32,133 INFO L290 TraceCheckUtils]: 7: Hoare triple {22445#true} ~cond := #in~cond; {22445#true} is VALID [2022-04-08 10:57:32,133 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 10:57:32,133 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 10:57:32,133 INFO L272 TraceCheckUtils]: 4: Hoare triple {22445#true} call #t~ret6 := main(); {22445#true} is VALID [2022-04-08 10:57:32,133 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22445#true} {22445#true} #96#return; {22445#true} is VALID [2022-04-08 10:57:32,133 INFO L290 TraceCheckUtils]: 2: Hoare triple {22445#true} assume true; {22445#true} is VALID [2022-04-08 10:57:32,133 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 10:57:32,133 INFO L272 TraceCheckUtils]: 0: Hoare triple {22445#true} call ULTIMATE.init(); {22445#true} is VALID [2022-04-08 10:57:32,134 INFO L134 CoverageAnalysis]: Checked inductivity of 453 backedges. 136 proven. 38 refuted. 6 times theorem prover too weak. 272 trivial. 1 not checked. [2022-04-08 10:57:32,134 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:57:32,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1637030095] [2022-04-08 10:57:32,134 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:57:32,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [507767897] [2022-04-08 10:57:32,134 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [507767897] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:57:32,134 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:57:32,134 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 16] total 29 [2022-04-08 10:57:32,135 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:57:32,135 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [54403628] [2022-04-08 10:57:32,135 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [54403628] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:57:32,135 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:57:32,135 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-08 10:57:32,135 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1286066596] [2022-04-08 10:57:32,135 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:57:32,135 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 10:57:32,136 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:57:32,136 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 10:57:34,312 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 10:57:34,312 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-08 10:57:34,312 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:57:34,312 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-08 10:57:34,313 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=109, Invalid=642, Unknown=9, NotChecked=52, Total=812 [2022-04-08 10:57:34,313 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 10:58:00,226 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 10:58:02,278 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 10:58:09,223 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.35s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 10:58:10,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:58:10,652 INFO L93 Difference]: Finished difference Result 280 states and 365 transitions. [2022-04-08 10:58:10,652 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 10:58:10,652 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 10:58:10,654 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:58:10,654 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 10:58:10,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 132 transitions. [2022-04-08 10:58:10,657 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 10:58:10,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 132 transitions. [2022-04-08 10:58:10,659 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 132 transitions. [2022-04-08 10:58:11,108 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 10:58:11,115 INFO L225 Difference]: With dead ends: 280 [2022-04-08 10:58:11,115 INFO L226 Difference]: Without dead ends: 278 [2022-04-08 10:58:11,116 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 240 GetRequests, 202 SyntacticMatches, 2 SemanticMatches, 36 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 224 ImplicationChecksByTransitivity, 34.2s TimeCoverageRelationStatistics Valid=185, Invalid=1138, Unknown=13, NotChecked=70, Total=1406 [2022-04-08 10:58:11,116 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 36 mSDsluCounter, 329 mSDsCounter, 0 mSdLazyCounter, 1078 mSolverCounterSat, 42 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 12.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 378 SdHoareTripleChecker+Invalid, 1122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 1078 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 12.9s IncrementalHoareTripleChecker+Time [2022-04-08 10:58:11,117 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [49 Valid, 378 Invalid, 1122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 1078 Invalid, 2 Unknown, 0 Unchecked, 12.9s Time] [2022-04-08 10:58:11,117 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 278 states. [2022-04-08 10:58:11,773 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 278 to 275. [2022-04-08 10:58:11,773 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:58:11,774 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 10:58:11,774 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 10:58:11,775 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 10:58:11,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:58:11,785 INFO L93 Difference]: Finished difference Result 278 states and 363 transitions. [2022-04-08 10:58:11,785 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 363 transitions. [2022-04-08 10:58:11,786 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:58:11,786 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:58:11,787 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 10:58:11,787 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 10:58:11,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:58:11,798 INFO L93 Difference]: Finished difference Result 278 states and 363 transitions. [2022-04-08 10:58:11,798 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 363 transitions. [2022-04-08 10:58:11,799 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:58:11,799 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:58:11,799 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:58:11,799 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:58:11,800 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 10:58:11,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 275 states to 275 states and 360 transitions. [2022-04-08 10:58:11,811 INFO L78 Accepts]: Start accepts. Automaton has 275 states and 360 transitions. Word has length 116 [2022-04-08 10:58:11,811 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:58:11,811 INFO L478 AbstractCegarLoop]: Abstraction has 275 states and 360 transitions. [2022-04-08 10:58:11,811 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 10:58:11,811 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 275 states and 360 transitions. [2022-04-08 10:58:12,761 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 10:58:12,761 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 360 transitions. [2022-04-08 10:58:12,763 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2022-04-08 10:58:12,763 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:58:12,763 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 10:58:12,791 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 10:58:12,987 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 10:58:12,987 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:58:12,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:58:12,988 INFO L85 PathProgramCache]: Analyzing trace with hash -1515779717, now seen corresponding path program 7 times [2022-04-08 10:58:12,988 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:58:12,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1182411831] [2022-04-08 10:58:12,989 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:58:12,989 INFO L85 PathProgramCache]: Analyzing trace with hash -1515779717, now seen corresponding path program 8 times [2022-04-08 10:58:12,989 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:58:12,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [567547825] [2022-04-08 10:58:12,989 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:58:12,989 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:58:13,009 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:58:13,010 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1114963134] [2022-04-08 10:58:13,010 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:58:13,010 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:58:13,010 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:58:13,011 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 10:58:13,036 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 10:58:13,110 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:58:13,111 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:58:13,113 INFO L263 TraceCheckSpWp]: Trace formula consists of 288 conjuncts, 82 conjunts are in the unsatisfiable core [2022-04-08 10:58:13,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:58:13,151 INFO L286 TraceCheckSpWp]: Computing forward predicates...